如何理解持续集成,持续交付,持续部署

2018-09-30  本文已影响75人  沉沦2014

在解释这三个概念之前,先举个例子。

譬如说,你开了一家公司,雇了很多码农在一起写代码。

以上三段内容是一个软件从开发到部署的流程的简单描述,也分别对应持续集成、持续交付以及持续部署。

1、持续集成(Continuous Integration)

在传统软件开发过程中,集成通常发生在每个人都完成了各自的工作之后。在项目尾声阶段,通常集成还要痛苦的花费数周或者数月的时间来完成。持续集成是一个将集成提前至开发周期的早期阶段的实践方式,让构建、测试和集成代码更经常反复地发生。

持续集成就是把多个码农写的代码集成到同一个分支,然后经过编译、测试、打包之后将程序保存到 Artifact Repository 里。

image

2、持续交付(Continuous Delivery)

持续交付就是定时地、自动地从 Artifact Repository 将最新的程序部署到测试环境里。


image.png

3、持续部署(Continuous Deployment)

持续部署就是定时地、自动地将过去一个稳定的发布版本部署到生产环境里。

image.png

很明显,集成、交付和部署是软件开发到发布流程中的不同阶段。那所谓的持续是相对于过去的流程提出的。过去的流程是所有人写好代码之后再进行合并,然后再进行测试,最后再发布。这种流程会把风险堆到软件发布前的最后阶段。那持续的概念就是,做一点就马上递交给下一个流程,这样能够尽早地发现并解决问题。

补充,持续交付和持续部署是不是相同的概念,一直有争议。不过我认为,只要在你们的团队内部达成一致就可以了,不用太纠结于是不是同一个概念。

上一篇 下一篇

猜你喜欢

热点阅读