《持续交付》(三)部署流水线与构建脚本

本文是《持续交付》学习的第三部分,聚焦于部署流水线和构建脚本的设计实践。阐述了部署流水线的重要性和自动化带来的优势,包括快速反馈、防止回归错误和环境配置问题。同时,介绍了部署流水线的实践,如相同环境部署、冒烟测试和回退机制。此外,文章强调了构建和部署脚本的编写原则,如分层部署、使用相对路径和跟踪二进制文件版本,旨在实现稳定的持续交付流程。
摘要由CSDN通过智能技术生成

引言

本文是《持续交付》一书学习总结的第三篇。主要内容涉及部署流线和部署脚本的设计实践。

持续交付

部署流水线(一)

要实现持续交付,一般会定义一条部署流水线(deployment pipeline)。我们之前讨论过的持续集成过程,就是这个流水线的一部分。总的来说,部署流水线就是一套将代码从版本控制工具最终交付到用户手中的自动化流程。我们在前面看到了自动化的持续集成,以及验收测试。除此之外,部署流水线还包含在流程各个阶段(开发、测试、发布等)对软件的部署以及发布流程的管理。可以说,《持续交付》整本书都在围绕部署流水线进行讨论。

部署流水线的第一个好处我们多次提到过,就是基于自动化的快速反馈,如下图。在部署流水线的每一个阶段都能形成及时的反馈,让团队合作解决问题。经过多次反馈,到发布阶段时的软件质量是很高的。

反馈

快速反馈可以帮助我们避免很多问题。首先是所谓回归(regression)的bug。由于部署流水线会针对每一次提交的代码改动执行一次,如果出现回归问题,就会被及时发现。
另一类问题是关于不同环境的配置。由于在部署流水线中,会先后部署多种环境(test,staging和production等)。不同环境的配置通常不同,这就可能导致同一个build在不同环境部署时失败,而这些问题会被立即处理。

最后,自动化的部署流水线可以让我们很容易的回退代码(roll back)到上一个正常版本,这也就降低了频繁发布的风险。

下图展示了一个更加具体的部署流水线。该图的上方就是存放代码和配置的版本控制工具,大家应该很熟悉。下方是存放build结果的地方,成为artifact repository。持续集成过程就结束于此,而部署过程也从此开始,因此它是部署流水线上的中间节点。常用的artifact repository是JFrog公司的Artifactory,大家可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值