持续交付:软件发布的新范式
1. 引言
大多数开发者面临的常见问题是如何快速且安全地发布已实现的代码。传统的交付过程充满了陷阱,常常让开发者和客户都感到失望。本文将介绍持续交付(Continuous Delivery)方法的理念,并阐述其相关内容。
2. 什么是持续交付
Jez Humble 对持续交付给出了最准确的定义:“持续交付是一种能力,能够以可持续的方式,安全、快速地将各种类型的变更(包括新功能、配置更改、错误修复和实验)投入生产环境或交付到用户手中。”
为了更好地理解,我们来看一个场景。假设你负责一个电子邮件客户端应用程序,用户提出了按邮件大小排序的新需求,开发预计需要一周时间。但通常开发完成后,你需要先将完成的功能交给 QA 团队,再交给运维团队,这可能需要几天到几个月的额外时间。因此,即使开发只花了一周,用户可能要几个月后才能使用该功能。而持续交付方法通过自动化手动任务来解决这个问题,让用户在功能实现后即可使用。
3. 传统交付过程
传统交付过程在大多数 IT 公司已经使用多年。它从客户定义需求开始,到产品在生产环境发布结束。传统的发布周期通常包括以下三个阶段:
- 开发阶段 :开发者(有时与业务分析师一起)使用敏捷技术(如 Scrum 或看板)来提高开发速度并改善与客户的沟通。他们会组织演示会议以获取客户的快速反馈,并采用各种良好的开发技术。开发完成后,代码将交给 QA 团队。
- 质量保证阶段 :通常称为用户验收测试(UAT),此阶段需要冻结主干代码库,以防止新开发破坏测试。QA 团队会进行一系列集成
超级会员免费看
订阅专栏 解锁全文
1070

被折叠的 条评论
为什么被折叠?



