每天进步一点点

81| 部署流水线

2020-04-02  本文已影响0人  副班长国伟

什么是部署流水线?

指软件从版本控制库到用户手中这一过程的自动化表现形式。

对软件的每次变更都会经历一个复杂流程才能发布。这一流程包括构建软件,以及后续一系列不同阶段的测试与部署,而这些活动通常都需要多人或者多个团队之间的协作。

部署流水线是对以上业务流程的建模,在持续集成和发布管理工具上吗,它体现为支持查看并控制整个流程,包括每次变更从被提交到版本控制库开始,直到通过各类测试和部署,再到发布给用户的过程。

下图显示了一个典型的部署流水线,提现了这种方法的本质。

基本的部署流水线

下图展示了代码变更集经过部署流水线的过程。

代码变更集经过部署流水线的过程

部署流水线的目的

让软件交付过程中的每个人能够看到每个构建版本从提交到发布的整个过程。

大家应该能够看到哪次修改破坏了应用程序,哪些修改可以作为候选发布版本进入到手工测试环节或发布环节。它应该能够支持人们执行到手工测试环境的一键部署,并使大家能了解当前每个环境中运行的应用程序究竟是哪个版本,还能够支持一键式发布选定的某个版本,并清楚地标识出这一候选发布版本已成功通过整个流水线,并在类生产环境中经历了一连串的自动化测试和手工测试。

一旦有了部署流水线,发布流程中的低效环节就会显而易见。所有需要的信息都可从这个部署流水线上获取,比如一个候选发布版本需要多长时间能够通过各种手工测试阶段,从提交到发布的平均时间是多长,流程中每个阶段发现了多少缺陷。一旦掌握了这些信息,就可以优化软件的构建和发布流程了。

部署流水线依赖于一些基础设施,包括良好的配置管理,自动化的软件构建脚本和部署脚本,还要有自动化验收测试来验证软件会向用户交付价值。还需要纪律性,比如确保只有通过了自动化构建、测试和部署的那些修改才能发布等。

上一篇 下一篇

猜你喜欢

热点阅读