《持续交付》软件交付的问题

概要

本章通过将常见的发布反模式与部署流水线模式进行对比,阐述了如何通过部署流水线模式进行改善,说明了持续交付的原则


核心模式
  • 本书的中心模式是部署流水线。部署流水线是指一个应用程序从构建,部署,测试到发布这整个过程的自动化实现
  • 部署流水线以持续集成过程为其理论基石,从本质上讲,它是采纳持续集成原理后的自然结果
常见的发布反模型
  • 手工部署软件
    缺陷:每个步骤里都需要人为判断的事情,因此很容易发生认为错误
    改善方法:高度自动化部署
  • 开发完成之后才向类生产环境部署
    缺陷:由于部署工作中的很多步骤根本没有在试运行环境上测试过,所以常常遇到问题
    改善方法:持续集成,持续部署以及持续测试
  • 生产环境的手工配置管理
    缺陷:无法回滚,构建发布环境准备时间长
    改善方法:自动化部署,持续构建
如何实现目标
  1. 目标:短周期,高质量
    短周期是软件交付的重点,保证一定质量是基础
  2. 实现目标
    • 自动化。构建,部署,测试和发布流程高度自动化
    • 频繁做。频繁地自动化发布
  3. 持续集成:每次提交都对应用程序进行构建并测试
  4. 反馈流程:指完全以自动化方式尽可能地测试每一次变更
  5. 通过自动化实现快速反馈
软件交付的原则
  • 为软件的发布创建一个可重复且可靠的过程
  • 将几乎所有事情自动化
  • 把所有的东西都纳入版本控制
  • 内建质量
  • “DONE”以为着“已发布”
  • 交付过程是每个成员的责任
  • 持续改进

总结

本章通过几种反模式与部署流水线模式的对比,突出了部署流水线模式的优势。在我看来部署流水线模式的关键两个词就是持续自动化,持续就意味无论是部署,构建,测试,集成以及变更管理,都要贯穿整个开发过程,以此来降低最终发布的压力,降低风险。而高度自动化则能够有效提高效率,降低对于“专家”的依赖,大大降低人为导致的错误。而持续则要求开发人员频繁且有规律的交流。

你可能感兴趣的:(《持续交付》软件交付的问题)