项目中gulp shark-automation编译,jenkins测试服开发服上线
gulp编译过程:
1.clean, 删掉scss生成css和ftl生成html时,产生的临时文件夹
2.build-java,帮后端mvn compile(自己写的java,依赖的java库)。注明:招财是后端拉前端代码,没有这一步。渠道分销管理后台有这一步。
3. sass-preprocess。Scss编译,预处理。 webpack-server,打包Js。
4.useref,css合并,js合并
5. imagemin图片压缩,
6.revision-image,图片加md5
7. revreplace-css/js根据生成的键值对(新旧名字Map),将css和js中引用的图片路径替换
8. revision-css/js,Css加md5后缀,js加md5后缀
9.revreplace-html/ftl,替换html和ftl中对应静态资源路径.
10. copy-build最终拷贝。构建好的资源拷贝进最终的构建目录。有一个build文件夹,包含一个static(给cdn),一个app(给tomcat或python)。
shark-automation流程(整合了gulp和webpack):
执行gulp,webpack编译过程后,
从source-git中pull代码,build,生成html包app和静态资源包static,分别push到对应的test-git。
如果静态资源要放在nos上,则静态资源会直接被上传到Nos。否则,如果放在mimg上,则在发布机上rsync。
备注:shark-automation优先级配置:
jenkins流程:
配置任务,执行脚本。可以执行关联任务,先编译,后面自动部署。
上线流程:3个分支,temp,dev,master,合分支到dev,测试完成后,最后测试服上测试下,然后合并到master,上线上服。
发布机路程:从git-test中pull代码,app中的rsync到tomcat的context指定的位置。static中的rsync到目标服务器(如mimg)
备注:
本地代码和gitlab代码之间怎么建立联系?
本地代码推到gitlab-源码库,执行负责测试服的jenkins任务【把代码拉到gitlab-test库,然后在测试服对应的编译机上(提前用脚本安装shark-automation),编译代码】,这样就编译好,而且可以让后端拉代码了。gitlab-online库也是一样的,执行负责线上服的jenkins任务。
前后端代码整合到一起上线?
前端代码编译好放到对应gitlab仓库后,后端执行编译部署脚本拉前端代码,整合资源,然后在线上发布机上,拉代码到tomcat的context指定目录,在tomcat上启动服务,就上线完成了。