k8s 学习笔记

CI / CD 基本原理

CI/CD 是两个流水线,持续集成 Continuous Integration(CI)是服务构建流程,持续部署 Continuous Deployment(CD)是服务发布流程。也可以视作三个流水线,加上持续交付 Continuous Delivery(CD)给测试和质量团队的中间过程。

持续集成(CI)

持续将代码集成到主干。

好处:

  • 快速发现错误,定位比较容易
  • 防止分支大幅偏离主干

持续集成强调开发人员提交了新代码之后,立刻进行构建、测试。根据测试结果来判断新代码是否和原有代码正确集成在一起。

持续交付(CD)

Continuous Delivery
频繁地将软件的新版本交付给质量团队或用户,以供评审。如果通过,代码就进入生产阶段。

持续交付强调的是代码不管怎么更新,软件是随时可以交付的。

自动部署到类生产环境完成更多的测试,如果代码没有问题,可以继续手动部署到生产环境中。

持续部署(CD)

Continuous Deployment
和持续交付的区别在于自动化部署到生产环境。

持续部署强调的是代码在任何时刻都是可部署的,可以进入生产阶段。

持续部署的前提是能自动化完成测试、构建、部署等步骤。

Jenkins

开源 CI&CD 软件 官方网站