持续集成
- 持续集成是频繁地(一天多次)将代码合并到主干
- 通过自动构建(包括编译,发布,自动化测试)的方式验证每次提交,让团队尽早的发现问题
- 持续集成并不能肖除Bug,而是让它们非常容易发现和改正
持续部署
就是持续的将需求部署到目标环境上
持续交付
就是将最终的产品发布到线上环境,给用户使用
持续集成的价值
- 保持随时部署,简化发布流程
- 每日高频率的集成保证了项目随时处于可部署运行的状态,如果没有持续集成,项目发布之前将不得不手动地集成,然后花费大量精力修复集成问题,弄的团队成员疲惫不堪。
- 尽早暴露问题,把握开发节奏
- 问题暴露的越早,修复代码的成本越低,成功部署的胜算就越大。持续集成高频率地编译、测试、审查、部署项目代码,这其中代码集成是主要的风险来源。要想规避这个风险,只有提早集成,持续而有规律的集成,以此来确保当前代码库的质量,把握开发的进程和节奏。
持续集成流水线
持续集成的工具
持续集成阻力
- CI太复杂了:流程复杂,环境配置复杂
- 意识上的阻力
- 测试失败,久而久之就放弃了
- 除了技术的改进,还要关注改变行为习惯