概要
本章通过将常见的发布反模式与部署流水线模式进行对比,阐述了如何通过部署流水线模式进行改善,说明了持续交付的原则
核心模式
- 本书的中心模式是部署流水线。部署流水线是指一个应用程序从构建,部署,测试到发布这整个过程的自动化实现
- 部署流水线以持续集成过程为其理论基石,从本质上讲,它是采纳持续集成原理后的自然结果
常见的发布反模型
- 手工部署软件
缺陷:每个步骤里都需要人为判断的事情,因此很容易发生认为错误
改善方法:高度自动化部署 - 开发完成之后才向类生产环境部署
缺陷:由于部署工作中的很多步骤根本没有在试运行环境上测试过,所以常常遇到问题
改善方法:持续集成,持续部署以及持续测试 - 生产环境的手工配置管理
缺陷:无法回滚,构建发布环境准备时间长
改善方法:自动化部署,持续构建
如何实现目标
- 目标:短周期,高质量
短周期是软件交付的重点,保证一定质量是基础 - 实现目标
- 自动化。构建,部署,测试和发布流程高度自动化
- 频繁做。频繁地自动化发布
- 持续集成:每次提交都对应用程序进行构建并测试
- 反馈流程:指完全以自动化方式尽可能地测试每一次变更
- 通过自动化实现快速反馈
软件交付的原则
- 为软件的发布创建一个可重复且可靠的过程
- 将几乎所有事情自动化
- 把所有的东西都纳入版本控制
- 内建质量
- “DONE”以为着“已发布”
- 交付过程是每个成员的责任
- 持续改进
总结
本章通过几种反模式与部署流水线模式的对比,突出了部署流水线模式的优势。在我看来部署流水线模式的关键两个词就是持续和自动化,持续就意味无论是部署,构建,测试,集成以及变更管理,都要贯穿整个开发过程,以此来降低最终发布的压力,降低风险。而高度自动化则能够有效提高效率,降低对于“专家”的依赖,大大降低人为导致的错误。而持续则要求开发人员频繁且有规律的交流。
网友评论