美文网首页持续集成持续集成Jenkins & Linux
持续集成、持续交付以及持续部署

持续集成、持续交付以及持续部署

作者: 百转春秋 | 来源:发表于2017-11-19 23:24 被阅读59次

我们经常会听到持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)这三个名词,这三个名词之间有什么联系,有什么区别,以及为什么要做持续集成,持续交付,让我们带着疑问往下看。
图片来源

三者关系图

持续集成[Continuous Integration]

持续集成是已代码的提交活动来触发的。持续集成涉及到一下几个步骤:

  • 开发人员提交代码到代码仓库
  • 持续集成服务器检测到代码更新,从代码仓库拉取最新的代码
  • 代码更新完毕后,持续集成服务器自动进行编译、代码静态检查以及测试(单元测试)

图片来源

Continuous Integration

持续交付[Continuous Integration]

持续交付是建立在持续集成成功的基础上的,比如代码编译成功,并且通过了单元测试,这个时候我们可以把代码部署到测试环境(也就是和生产环境相近的环境)在这里我们完成更多的测试(自动化契约测试、自动化UI测试等),通过一系列测试后,通过手动的方式把代码部署到生产环境上。

图片来源

Continuous Integration

持续部署[Continuous Integration]

持续部署是在持续交付成功的基础上,通过自动化的方式把代码部署到生产环境上。


Continuous Integration

CI/CD的价值

“Continuous Integration doesn’t get rid of bugs, but it does make them dramatically easier to find and remove.” — Martin Fowler
Martin Fowler曾经说过持续集成并不能消除BUG,但是能容易的发现BUG,修复BUG,从而提升产品的质量。那么CI/CD给团队带来了哪些价值:

  • 减少风险。CI保证开发人员提交的代码是安全可靠的。开发人员每次提交代码都会触发CI,从而会自动进行静态代码检查,单元测试。CD阶段接口测试,UI测试都是自动化进行。整个交付标准化,可重复并且可靠
  • 快速发布。整个流程自动化发布,提升了效率,能够更快的迭代
  • 整个流程可视化。通过CI/CD工具,整个流程可视化,我们可以清楚的看到哪个阶段失败
  • 更好的团队协作方式。开发,QA以及运维紧密联系在一起,更加高效

参考资料

相关文章

网友评论

    本文标题:持续集成、持续交付以及持续部署

    本文链接:https://www.haomeiwen.com/subject/abkuvxtx.html