CICD(持续集成/交付/部署)

持续集成(CI:Continuous Integration)

image.png

持续集成,强调在开发人员提交代码后,立即对代码进行单元测试与构建,根据执行结果,我们可以确定新代码与旧代码是否能够正确的集成在一起。

在这一阶段能够尽早的暴露一些问题,这也是持续集成的重要性体现。

持续交付(CD: Continuous Delivery)

image.png

持续交付,是在持续集成的基础之上,将构建后的项目部署到测试环境,以便测试人员进行更详细的功能、性能等测试。

持续部署(CD: Continuous Deployment)

image.png

持续部署,在持续交付的基础之上,也就是再测试人员确保项目的功能完整性后,增加自动部署到生产环境的流程。

为什么需要CICD

传统应用开发模式:

  1. 开发团队开发并提交代码。一次提交可能包含多个功能的实现。
  2. 运维团队部署项目到测试环境。
  3. 测试团队编写测试用例,对项目进行功能测试。
  4. 测试发现异常,则开发重新提交,运维重新部署,测试重新测试。
  5. 测试完毕,运维部署到生产环境。

存在问题:

  1. 大部分错误在早期的时候就可以发现,但往往等到集成之后才会暴露出来一些低级错误。
  2. 整个开发、测试、部署的过程都需要人工处理,耗费时间,除非开发一套适配的自动脚本。而开发自动脚本,当开发到了一定高度自动化的形态时,某种意义上就是另一种CICD得体现了。

CICD是实现了自集成、交付、部署于一体的一套自动化流水线方案。

CICD有什么能力

  1. 尽早暴露问题,大部分低级问题可以在持续集成阶段发现并处理。
  2. 减少人工部署时间,也减少了人工操作引入的风险。
  3. 拥有更加频繁的交付价值。

你可能感兴趣的:(CICD(持续集成/交付/部署))