持续集成

持续集成(Continuous Integration,简称CI),是持续地编译、测试、检查和部署源代码的过程。
采用持续集成时,开发人员频繁地(一天多次)提交代码到代码库(如SVN、Git等)并集成到主干中,之后系统会自动运行构建和和测试操作,从而尽快地发现集成错误,下图可描述这个过程:

持续集成流程

持续集成优点:

  • 快速发现集成错误并解决缺陷
  • 更快交付更新
  • 提高软件质量

持续交付

持续交付(Continuous Delivery)在持续集成的基础上,将集成代码部署到类生产环境中。使用持续交付时,开发人员提交一个修订后,系统会自动构建和测试,同时也会自动在与生产环境非常类似的环境中测试。

持续交付流程

在不同的开发或运行环境中,开发人员提交的代码测试结果可能也不一样。但是代码最终还是会在生产环境中运行,如果代码通过了持续集成的测试,那么代码会被部署到下一个阶段环境。这样,开发人员从每个阶段环境的测试中获得新的反馈,如果出现错误,他们可以更容易的知道问题所在,并在代码发布到生产环境前解决。

持续交付优点:

  • 快速发布
  • 编码->测试->上线->交付的频繁迭代周期缩短,同时获得迅速反馈
  • 高质量的软件发布标准

持续部署

持续部署(Continuous Deployment)在持续交付的基础上,把部署到生产环境的过程自动化。持续部署的前提是需要持续交付。

持续部署流程

最后

持续集成、持续交付与持续部署提供了一个优秀的 DevOps 环境。频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分。

参考

文章目录