前端工程一般发布在静态服务器上即可,各云厂商的对象存储产品都会支持静态资源部署,aws的s3整套产品很成熟也非常完善,Ali的oos,腾讯的cos也有完整的sdk。
本篇文字主要简述了前端工程在对象存储服务的发布流程和最佳实践,欢迎讨论。
使用命令行发布
对象存储服务都有提供对应的控制台管理桶,同时也提供响应的API供后端业务调用。
aws-s3官方提供了命令行终端操作库可以方便在命令行发布我们的静态资源:https://aws.amazon.com/cn/cli/
我们可以这样发布:
$ aws s3 sync dist s3://mybucket/myfolder
腾讯的cos可以使用很轻量第三方库cos-manager
发布资源: https://github.com/yansenlei/cos-manager
# 首次写入配置
$ cos-manager --id=AKIDxxx --key=xxx
# 上传指定目录
$ cos-manager --r=Region --b=Bucket-APPID --dir=dist
# 查看帮助信息
$ cos-manager -h
巧用 npm script
npm script 类似shell 的 exec,可以帮助你执行多个并行或顺序执行的命令,我们可以一次性执行删除本地dist资源->打包->发布
参考:
https://docs.npmjs.com/misc/scripts
http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html
以上发布我们可以这样写:
{
"script": {
"build:deploy": "rm -rf dist/ && npm run build && cos-manager --r=Region --b=Bucket-APPID --dir=dist"
}
}
一个命令,提包走人。(虽然走了有点慌...)
持续集成CI
持续集成是一种软件开发实践,每一次发布源码都会集成一次,每一次都会自动化的构建,这意味着也可以把上面的发布脚本在服务端跑起来,打包 测试 发布全部交给CI处理,目前主流的工具是 Travis CI,具体可以参照:http://efe.baidu.com/blog/front-end-continuous-integration-tools/
网友评论