背景:在很长的一段时间里,前端的上线都很慢,而且上线不稳定,部署多台服务器,必须全部都部署完毕才能正常使用,否则,根据权重的不同,会出现偶尔能用,偶尔不能用的情况,如果线上服务器网络不好,部署可能会失败,回滚次数很多

需求:提高上线速度,消除外网不稳定,消除多台没有同时build完的不稳定因素

oldPublish:git tag --> 邮件系统 --> 点击邮件链接进入发布平台
--> 审批流(项目负责人 --> 测试 --> 开发确认发布) --> 线上服务器拉取gittag解压 --> npm i --> npm run build --> npm run start

(在npm i的那一步,由于外部网络不稳定,很坑,会卡很久,经常会1个多小时,每次都要去线上服务器查看进度,很麻烦)

newPublish:jenkins --> shell脚本打包 --> 压缩dist --> 去发布平台主动找到项目上线任务 --> 输入jenkins打包后的版本,输入测试人员 --> 点击执行 --> 走审批流 --> 确认发布后,发布平台从测试环境jenkins目录下拉取压缩后的dist转发到多个线上服务器后解压 --> 运行npm run start

新的流程在点击发布的时候只用1到2秒就能执行完毕,老得遇到网络不稳定时,至少一个小时。新的发布包在测试环境上构建的,node版本稳定,在上线前就可以做,提前完成,减少了上线的时间。


杨龙飞
45 声望2 粉丝

喜欢思考,喜欢前端,喜欢交友,喜欢玩