什么是持续交付

作者:Sam Guckenheimer

Continuous Delivery (CD) is the process to build, test, configure and deploy from a build to a production environment.

多个测试环境或过渡环境形成了发布管道,以自动创建并部署新的基础结构。 连续环境支持分批执行运行时间较长的集成测试、负载测试和用户验收测试。 持续交付流程始于持续集成,管道在成功完成测试后会暂存各个连续环境。

持续交付可能会按顺序排好多个部署“环”,以实现分批曝光(亦称为“控制爆炸半径”)。 分批曝光将试用新版本的用户归在一起,以在“环”中监视他们的体验。 首个部署环往往是“Canary”,用于在全面推出前在生产中测试新版本。 持续交付会按顺序自动连续执行各个部署环,可能会视情况依赖要求决策者通过电子方式签字同意更改的审核步骤。 持续交付可能会创建可审核的批准记录,以满足监管程序要求或其他控制目标。

如果没有持续交付,就像以前一样,软件发布周期是制约应用程序和运营团队发展的瓶颈。 通过手动流程发布的版本不可靠,既有延迟,也有错误。 这些团队往往依赖的是移交,这会在发布周期内导致问题出现。 借助自动发布管道,可以使用“快速失败”验证方法,其中最有可能会快速失败的测试优先运行,成功完成这些测试后再进行运行时间较长的测试。

持续交付是一项高效做法。 持续交付通过最短的路径来部署版本控制系统中的新代码或程序包管理系统中的新组件,旨在不断更新生产版。 通过自动化,持续交付可以最大限度地缩短生产事件的部署时间以及缓解时间 (TTM) 或更正时间 (TTR)。  就高效而言,持续交付优化了处理时间,并消除了空闲时间。

基础结构即代码和监视这两大互补做法为持续交付提供了很大帮助。 持续传递价值已成为组织的一项强制性要求。 必须持续发布无误版本,才能向最终用户传递价值。

除了依序部署环之外,持续交付还支持另外两个分批曝光模式。“蓝/绿部署”依赖的做法是,运行现有的(蓝色)版本,同时部署新的(绿色)版本。 这种模式通常使用负载均衡将不断增加的流量导流到绿色部署中。 如果监视功能发现事件,可以将流量改为导流到仍在运行的蓝色部署中。“功能标志”(或“功能切换”)采用另一种技术进行试验和“暗色启动”。 功能标志根据最终用户的身份和组成员资格,为不同的最终用户启用或禁用功能。

借助新式发布管道,开发团队可以快速安全地部署新功能。 可以使用新部署前滚在生产中发现的问题,从而快速更正这些问题。 这样,持续交付就可以持续实现客户价值。

详细了解 Visual Studio Team Services 的持续交付功能。

了解如何在 Azure 中设置持续部署。

See how Bing is using Continuous Delivery with Visual Studio Team Services.


link:https://www.visualstudio.com/zh-hans/learn/what-is-continuous-delivery/

你可能感兴趣的:(什么是持续交付)