前端项目部署方式
目前我们很多项目还都是手动部署,部署的时候容易出错,还会引起网站短时间不可用.所以,我们将部署的工作放到jenkins上,让jenkins代替我们打包/发送至服务器/上传静态资源至cdn.现在整理了一下自动化部署的方式,分为静态网站部署和动态网站部署两部分.
自动化部署的思路如下:
1.触发构建(手动触发,代码仓库更新触发,其他项目构建触发);
2.jenkins从代码仓库获取代码;
3.根据参数执行构建命令;
4.构建成功,将构建产物通过ftp等方式发送到目标服务器;
5.在目标服务器执行python脚本,将静态资源发送至cdn,并删除本地静态资源;
6.如果是静态网站,操作服务器软连接,将软连接指向新的网站目录;如果是动态网站,还要操作渲染服务器重新进行服务端喧嚷.
一.静态网站部署
[Jenkins示例-供应链项目](http://jenkins.erp.itsmycar.cn:8082/job/example-yiautos-scf-wap/)
1.定义环境变量
推荐使用两个环境变量:网站目录名 cdn版本号
![image](http://images.itsmycar.cn/1560994865600.jpg)
环境变量参数在配置中可以通过前缀'$'引用,例如:$versionCode
其中网站目录名会作为静态网站在服务端的目录名
cdn版本号会作为网站引用的静态资源的目录的前缀,例如:
http://websitedn.yiautos.com/website/test/v06192324/vendor.a6df2d44a049ef7562f3.js
其中的website/test/v06192304 就是需要输入的cdn版本号
后面的vendor.a6df2d44a049ef7562f3.js就是我们实际的静态资源了.
2.设置代码仓库
需要配置代码仓库的地址与有权限访问该仓库的gi