上一讲我们讲了持续部署的4个目标:准确可预期的部署结果、部署过程不影响线上服务、有可持续部署的软件增量、低成本和高效地部署发布,并分析了如何做到。
可是,有了好的持续部署实践,如何才能规模化落地呢?
承载实践最好的方式就是工具。持续部署过程的最好载体就是流水线,因为持续部署本身就是一个逐级递进的流水线。
持续发布流水线
如上图所示,我们可以看到,从最早拉取代码、构建、验证、部署,整个过程是一个逐级递进的过程。如果代码发生变化,或配置发生变化,或代码依赖发生变化,流水线将会被重新触发。从拉取代码开始,直至流程执行完成或中断。我们会按照构建的配置来构建制品,将制品保存到制品仓库,产生构建产物,接下来我们会基于构建产物做验证,验证通过就可以进入部署,部署成功就意味着这个特性已经被成功发到了线上的运行环境中。
在图中我们增加了几个部分,包括研发管理平台、配置中心、监控中心、运维发布平台。
在最简化的流水线里面我们看不到这些,但是在大家的实际工作当中会存在这几个概念:
- 我们在执行流水线的时候,会跟研发管理平台做交互,比如是否有统一的构建规则;在整个公司的层面或者