1、CICD与Jenkins概述
互联网软件的开发和发布,已经形成了一套标准流程,假如把开发工作流程分为以下几个阶段:
编码 → 构建 → 集成 → 测试 → 交付 → 部署
在上图中看到,持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)有着不同的软件自动化交付周期。
1. 持续集成(CI)
上面整个流程中最重要的组成部分就是持续集成(Continuous integration,简称CI):
编码 → 构建 → 集成 → 测试
持续集成指的是,频繁地(一天多次)将代码集成到主干。将软件个人研发的部分向软件整体部分交付,频繁进行集成以便更快地发现其中的错误。
它的好处主要有两个:
- 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;
- 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新&