软件发布是一个令人头痛的过程,非常耗时且风险很高。本书独特而有条理地阐述了以快速、高效、可靠的方式向用户交付新功能的原则和技术实践。通过实现自动化的构建、部署和测试过程,并改进开发人员、测试人员、运维人员之间的协作,交付团队可以在几小时(甚至几分钟)内发布软件变更,而这不受项目大小和代码复杂性的影响。
本书首先给出了实现快速、可靠、低风险交付过程的基础知识,然后介绍了部署流水线,即从签入到发布的过程中管理所有变更的一个自动化过程。最后,书中探讨了支撑持续交付的“交付生态圈”,内容涉及基础设施、数据和配置的管理,以及组织治理。
作者为我们呈现了最新的技术,包括自动化的基础设施管理和数据迁移,以及虚拟化的使用,并分别探讨了各种技术中的关键问题和最佳实践,演示了降低风险的方法。内容涉及:
?将软件构建、集成、测试和部署全面实现自动化
?在团队级别和组织级别实现部署流水线
?改进开发人员、测试人员和运维人员间的协作
?在大型分布式团队中增量开发软件功能
?实施高效的配置管理策略
?分析并实现自动化验收测试
?容量测试和其他非功能性需求的测试
?实现持续部署和零停机发布
?管理基础设施、数据、组件和依赖
?风险管理、符合度和审计
无论是开发人员、系统管理人员、测试人员,还是经理人员,本书都能前所未有地加速你将想法变成可发布软件的步伐,为企业迅速可靠地增添价值。
作者介绍:(其中两个作者,只有其一有照片,所以就只一个作者和一个译者放照片,另一作者不必放)
Jez Humble
ToughtWorks公司首席咨询顾问,致力于帮助企业快速、可靠地交付高质量软件,经常在各种敏捷技术大会上发表演讲,拥有牛津大学物理学学士学位和伦敦大学民族音乐学的硕士学位。2000年至今,他曾在各行业和不同技术领域担任系统管理员、开发人员、培训人员、咨询师和经理人员。
David Farley
正在帮助构建伦敦多资产交易所(LMAE)。他具有20年的大型分布式系统开发经验,是采用敏捷开发技术的先行者,曾作为技术负责人参加了ThoughtWorks公司许多极具挑战性的软件项目。
译者介绍:
乔 梁
拥有多年软件开发及管理经验,对敏捷开发管理及持续交付有深入的理解与丰富的实践经验,专注于提高软件企业的高质量交付能力,推广最佳实践。为多个大型电信企业、互联网企业提供过专业的软件交付咨询服务。曾在ThoughtWorks任职多年,现任百度项目管理部高级架构师。InfoQ特约编辑,主持“持续集成”专栏。