## CICD概念 * 持续集成(CI):持续编译、测试、打包; * 持续部署(CD):代码在任何时刻都是可部署的,并且适配不同的环境自动部署 ![](https://img.kancloud.cn/0d/65/0d65d91e6065987e65056b9242f35faf_1307x639.png) **集成**是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题; **部署**是代码尽快向可运行的开发/测试节交付,以便尽早测试; **交付**是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。 ## 企业级CICD流水线 1. 提交代码到GitLab 2. GitLab 通过 WebHook 触发Jenkins构建 3. Jenkins 跑构建流程:代码检测,自动化测试,通过后构建 4. 推送最新的 Harbor 镜像 5. 通知K8s触发更新流程 ![](https://img.kancloud.cn/29/0a/290ad0f4b948689b1b12b42b76cb6400_1416x394.png) ![](https://img.kancloud.cn/96/89/9689cccaa37fc9b620126bfdb7bfdc38_2147x1846.png) ![](https://img.kancloud.cn/ca/75/ca752e0e7037727b4dd73e06e5c3f3a5_2503x1950.png)