Gitlab CI持续集成的优化

现状

  • 选用gitlab ci作为持续集成工具

  • 通过分支管理不同阶段版本,dev, alpha, beta, release

  • 每次推送,自动代码检视,sonar,编译和部署,可以通过[ci skip]跳过编译

问题

  • 根据分支编译,容易在不同分支改动,来回合并容易冲突,不好管理

  • 不同版本阶段编译脚本非常类似,但每次都要写,改变一个,需要复制粘贴到其它分支编译脚本,容易出错

  • 每次推代码都会自动编译部署,没有有环节控制,比如何时部署,何时不部署,部署到哪

  • 环境变量应该在部署的时候增加进去,编译只负责打包

  • war包的控制性不好,可以打成tgz包,这样在部署前还可以更改包内的内容,并可以做文件比较,检验,插入文件等操作

  • 部署和编译是相同的docker镜像,不好控制

优化目标

  • 脚本文件做主要的编译,环境变量区分不同版本编译
  • 根据trigger触发编译不同的版本,而不是通过分支控制
  • 根据trigger触发部署,而不是自动部署,部署需授权

操作方法

  • 使用脚本文件加环境变量的方式控制编译

你可能感兴趣的:(Gitlab CI持续集成的优化)