公司计划推行持续交付,系统更新部署再也不经过人工操做,咱们打算使用GitLab来管理源代码,Jenkins打包项目,RunDeck将打包好的项目部署到生产环境。测试
在网上查了不少资料,流程大概是开发人员在GitLab中提交一个Merge Request将开发分支合并到master中,负责代码审核的人赞成提交后,会触发Jenkins自动打包项目并部署到测试环境,在经过一系列自动化测试后,就会部署到生产环境。.net
不过这个流程不太符合咱们的要求,缘由以下orm
因而咱们修改了这个流程,修改后的流程中有三个阶段:开发测试阶段,预发布阶段,发布阶段blog
开发测试阶段开发
每次开发人员push开发分支到GitLab,都会触发Jenkins自动打包项目并部署到测试环境,测试部门能够在测试环境对项目进行测试部署
预发布阶段get
与开发测试阶段相似,只是开发人员push的不是开发分支,而是预发布分支,部署的环境也不是测试环境,而是预发布环境it
发布阶段自动化
因为只靠GitLab,Jenkins和RunDeck没法实现上述的发布阶段,因此须要开发一个中间系统专门处理这些部署信息,咱们把它命名为IT AutoDeploy Platform,加入了这个中间系统后,整个发布阶段的流程图以下ast
在 基于GitLab,Jenkins和RunDeck的持续交付系统(二) 中将会大概描述一下这个系统的实现