FreezeJ' Blog

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

2019-05-01

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

集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;

部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;

交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。

持续集成

持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。

持续交付

持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。

持续部署

持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。

而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。使得问题不会放大到其他部分和后面的环节。

举个例子,你家装修厨房,其中一项是铺地砖,边角地砖要切割大小。如果一次全切割完再铺上去,发现尺寸有误的话浪费和返工时间就大了,不如切一块铺一块。这就是持续集成。

装修厨房有很多部分,每个部分都有检测手段,如地砖铺完了要测试漏水与否,线路铺完了要通电测试电路通顺,水管装好了也要测试冷水热水。如果全部装完了再测,出现问题可能会互相影响,比如电路不行可能要把地砖给挖开……。那么每完成一部分就测试,这是持续部署。

全部装修完了,你去验收,发现地砖颜色不合意,水池太小,灶台位置不对,返工吗?所以不如没完成一部分,你就去用一下试用验收,这就是持续交付。

参考连接:https://blog.csdn.net/peterxiaoq/article/details/73648732

Tags: Devops