第一部分: 什么是CI/CD
在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD)这几个术语。但它们真正的意思是什么呢?
CI/CD 是 DevOps 的基础,CI/CD 侧重于软件开发过程中的自动化,而 Devops 则是侧重于文化构建,旨在减少开发、运维、QA之间的沟通鸿沟,促进快速可靠发布的同时还保证产品质量。
CI/CD 一系列流程通常会组成一个流水线,docker和Kubernetes则可以简化这些流水线中的很多流程,比如Docker容器可以很容易把有冲突的环境隔离开来,而Kubernetes则更进一步简化整个流水线的构建、执行和维护工作。
CI
1. 基本概念:
CI全名Continuous integration(持续集成),简单来说持续集成就是频繁地(一天多次)将代码集成到主干;
每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成错误。
2. 好处
- 快速发现错误,每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易
- 防止分支大幅偏离主干,如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成
- 更快速的发布更新,持续集成可以帮助团队更快速、更积极的发布程序和更新程序。在发布时可自动完成大量重复的工作、节省人力
3. 目的