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