-
持续集成
持续开发新功能
将新功能集成到产品主干中
Continuous Integration(CI)
-
持续交付
持续集成到下一步,将集成后到软件交付给用户
Continuous Delivery(CD)
设计、开发、测试、交付…
支撑概念-自动化- 自动构建,自动测试,自动发布 - 快速,高效,易回溯
支撑平台- Jenkins
持续集成的核心价值:
- 集成自动化测试,减少重复劳动;
- 尽早发现和解决缺陷,减少风险;
- 形成有机整体,明确阶段交付物;(即可以把散乱的过程标准化,流程化,明确每个节点的交付)
常见的持续集成方案:
- 阶段化
- 过程化
- 管道式(pipeline)
阶段化
为不同的构建测试套件建立不同的 CI 循环周期
单元测试运行时间短,反馈较快,所以可以频繁进行
自动化测试的时间比较长,占用资源比较多,适当减少集成次数
过程式
将每一个步骤单元化并顺序执行
将构建与测试分离以节省时间
管道式
所有的过程单元都运行在同一管道的上下文中,代码基线相同
当持续集成服务器发现有新的代码时,会创建新的一个管道
所有的过程单元都在这一个管道中运行
每个单元产生的产物也在该管道中有效
持续集成自动化测试
Jenkins Pipeline