左小白的技术日常
Github

CI、CD、CO是什么意思

这篇文章发布于 2019/11/11,归类于
标签:
CI CD COCI、CD、CO是什么意思CICDCOCI持续集成CD持续交付CO持续运营

CI CD CO 是什么意思呢?在开发中他们分别代表 CI持续集成 => CD持续交付/持续部署 => CO持续运营,下面来看看

CI持续集成(continuous integration)

CI 指的是持续集成,从研发团队提交代码作为起点,经过构建扫描测试等环节,以版本仓库为终点

这中间,需要对每个新功能或者问题修复创建自动化测试用例。对新提交的代码执行自动化测试。

通过自动化测试可以提早拿到测试结果,测试成本也大幅降低,CI服务器可以在几秒钟运行上百条测试。

一般从程序员开发的角度来讲,持续集成 CI,包含了持续部署CD。比如代码 merge 到 master 分支时,会触发一个 action,自动将代码部署到服务器。

但在某些比较细分的情况,CI就不包含部署了。比如多个功能、版本可能会同时开发。但测试环境只有两个。不可能直接提交代码,就自动部署到测试环境了。测试环境可能在验证其他功能。这就需要在devops平台手动点击部署,并选择对应的测试环境。这种情况,代码提交到仓库就算是 CI 持续集成了。

CD持续交付/部署(continuous delivery/continuous deployment)

CD 有两种解释:持续交付/持续部署,以版本仓库为起点,经过各模块自动化部署,到业务上线提供服务为终点,可以一键部署,自动触发发布流程

CD 更偏向于把功能进行上线。一键部署或自动部署(合并到master)。

CO持续运营(continuous operation)

CO 指的是持续运营,从业务上线服务为起点,到业务下线终止服务,期间包含各种运营事件。

总之这些都是概念性的,它们用于描述软件开发中的一些过程,大家心里有自己的一个理解就好,没有标准的答案。

参考: