基于GitLab,Jenkins和RunDeck的持续交付系统(一)

公司计划推行持续交付,系统更新部署不再通过人工操作,我们打算使用GitLab来管理源代码,Jenkins打包项目,RunDeck将打包好的项目部署到生产环境。

在网上查了很多资料,流程大概是开发人员在GitLab中提交一个Merge Request将开发分支合并到master中,负责代码审核的人同意提交后,会触发Jenkins自动打包项目并部署到测试环境,在通过一系列自动化测试后,就会部署到生产环境。

不过这个流程不太符合我们的要求,原因如下

  • 测试由专门的测试部门负责,只有通过测试部门的测试,项目才能部署到生产环境
  • 我们并不希望在同意Merge Request后,项目就马上开始打包部署到生产环境,而是希望在未来的某一个时间点才开始,比如,开发人员今天提前提交了Merge Request,代码也在今天通过了审核,但是项目的上线时间却是明天早上七点,我们也总不能让负责代码审核的人每次都那么早回来审核Merge Request
  • 在Merge Request通过后,负责部署审核的人需要收到部署通知邮件,并可以在部署执行前,根据实际情况直接在这封邮件中拒绝执行这次部署

于是我们修改了这个流程,修改后的流程中有三个阶段:开发测试阶段,预发布阶段,发布阶段

开发测试阶段

每次开发人员push开发分支到GitLab,都会触发Jenkins自动打包项目并部署到测试环境,测试部门可以在测试环境对项目进行测试

预发布阶段

与开发测试阶段类似,只是开发人员push的不是开发分支,而是预发布分支,部署的环境也不是测试环境,而是预发布环境

发布阶段

  1. 在通过测试部门的测试后,开发人员提交Merge Request,同时也提交项目部署信息,如发布时间等
  2. 代码审核人员同意这次提交后,部署审核人员会收到部署通知邮件
  3. 如果在发布时间之前,部署审核人员都没有拒绝这次部署,则部署会如期执行

由于只靠GitLab,Jenkins和RunDeck无法实现上述的发布阶段,所以需要开发一个中间系统专门处理这些部署信息,我们把它命名为IT AutoDeploy Platform,加入了这个中间系统后,整个发布阶段的流程图如下

在 基于GitLab,Jenkins和RunDeck的持续交付系统(二) 中将会大概描述一下这个系统的实现

转载于:https://my.oschina.net/u/3707083/blog/1551010

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GitLabJenkins是两个常用的软件工具,用于实现自动化部署和持续集成/持续交付(CI/CD)。GitLab是一个基于Git的代码托管平台,它提供了版本控制、代码审查、问题跟踪等功能。Jenkins是一个开源的自动化服务器,用于构建、测试和部署软件项目。 在使用JenkinsGitLab进行项目实战时,首先需要在Jenkins中安装Git插件\[2\]。然后,根据配置要求,确保系统满足内存2G以上的要求,并在GitLab环境中进行部署\[3\]。可以通过手动部署或者使用阿里云购买来完成部署。 在配置完成后,可以使用JenkinsGitLab进行项目实战。具体的操作步骤可以根据实际需求和项目要求进行设置和调整。通过JenkinsGitLab的配合,可以实现代码的自动构建、测试和部署,提高开发效率和软件质量。 总结起来,GitLab是一个代码托管平台,而Jenkins是一个自动化服务器。它们可以配合使用,实现自动化部署和持续集成/持续交付。 #### 引用[.reference_title] - *1* *3* [jenkins+gitlab实现自动化部署平台](https://blog.csdn.net/c13891506947/article/details/103330576)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [CICD详解(十)——Jenkins+Gitlab实战](https://blog.csdn.net/weixin_40228200/article/details/123883307)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值