Gitlab CI持续集成的优化

现状

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

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

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

问题

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

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

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

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

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

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

优化目标

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

操作方法

  • 使用脚本文件加环境变量的方式控制编译
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 本文以Gitlab来讲解Git使用以及持续集成, 持续集成采用的是Gitlab CI. 其他代码托管网站,如Git...
    x1596357阅读 5,436评论 0 6
  • 作为程序员,代码是一定要写的,而且要天天写。在好多地方见过这样一种说法: 只会写程序的程序员不是好程序员 当然,我...
    cjzhao阅读 16,399评论 19 89
  • 实习了,开始了新的旅途,开始了以为的不可能。 小斌子,是我的大学同学,我们在一起两年多,以为,爱情上升为亲情...
    蓝色的悲哀wjn阅读 213评论 0 0
  • #观察永澄50天-01天# 《永澄:打通的喜悦!我的自我管理系统升级简史》 http://mp.weixin.qq...
    紫微阅读 239评论 0 1