步骤八:配置流水线,实现持续交付
流水线服务提供可视化、可定制的自动交付软件生产线,支持代码检查、构建、部署等多种任务类型。
随着项目的进行,各个环节(构建、发布、部署)越来越标准化。但是每个环节都相对独立,是半成品,不能交付业务价值。将每一个环节有效的串联起来形成一套完整的持续交付流水线,才能够真正提高软件的发布效率与质量,持续不断的创造业务价值。
通过本章节,您将了解开发人员Chris如何将代码检查、构建、部署任务串联起来,实现持续交付。
预置流水线简介
示例项目中预置以下5个流水线任务,可根据需要查看并使用。
预置流水线任务 |
任务说明 |
---|---|
phoenix-workflow |
基本的流水线任务。 |
phoenix-workflow-test |
测试环境对应的流水线任务。 |
phoenix-workflow-work |
Worker功能对应的流水线任务。 |
phoenix-workflow-result |
Result功能对应的流水线任务。 |
phoenix-workflow-vote |
Vote功能对应的流水线任务。 |
- 关于Vote、Result、Worker的说明,请参见方案架构。
配置并执行流水线
一条流水线通常由多个阶段构成,每个阶段中可以添加多个子任务。
- 配置流水线。
- 进入“凤凰商城”项目,单击导航 。
- 找到流水线“phoenix-workflow”。单击图标,在下拉列表中单击“编辑”,进入编辑页面。
- 添加代码检查阶段。
- 单击“流水线源”与“构建”之间的,添加阶段。
- 单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称“代码检查”,单击“确定”。
图1 编辑阶段名称
- 单击“新建任务”。
在“新建任务”窗口中,单击“Check代码检查”插件后的“添加”。
- 选择调用任务“phoenix-codecheck-worker”,单击“确定”。
代码检查任务有三种检查模式,本文保持默认值“Full”,可根据需要修改。
- Full:全量检查,扫描代码仓里的所有文件。
- Incremental(last commit): 增量检查,基于最近一次commit文件进行扫描。
- Incremental(last success):增量检查,基于最近一次门禁通过后的变更文件进行扫描。
- 配置部署任务。
单击部署任务名称,在窗口中选择关联构建任务“phoenix-sample-ci”,并检查配置项的值。
- 任务“phoenix-sample-standalone”的配置需与部署服务中同名任务的“参数设置”页面内容保持一致。
- 任务“phoenix-cd-cce”的配置需与部署服务中同名任务“参数设置”页面内容保持一致。
部署任务中添加了两个部署任务,若您在之前的步骤中只选择了一种部署方式,请保留对应的部署任务,将另一个删除。
- 进入云容器引擎服务。找到目标集群,单击,选择“无状态负载”页签,确认列表中无记录。
若列表中有记录,则勾选全部记录,单击“批量删除”,并在弹框中勾选所有选项,单击“是”,将列表记录清空。
- 返回流水线列表页面,单击“phoenix-sample-pipeline”所在行的,在滑出的窗口单击“运行”,启动流水线。
当页面中显示时,表示任务执行成功。
若任务执行失败,请于执行失败的任务处检查失败原因,可打开步骤详情查看任务日志,根据日志进行排查。
配置准出条件
为了控制代码的质量,代码必须经过扫描,并且错误数量控制在合理范围内,才允许发布。通过添加质量门禁可以有效的自动化控制流程。
- 在流水线任务“phoenix-sample-pipeline”详情页,单击页面右上角,在下拉列表中选择“编辑”。
- 在阶段“代码检查”中,单击“准出条件”。
- 在“准出条件”窗口中,单击“标准策略准出条件”插件后的“添加”。
- 选择“系统策略”,单击“确定”。
- 单击“保存并运行”,启动流水线任务。
若代码检查问题数未达到准出条件,流水线任务将执行失败。
准出条件的管理请参考规则与策略。
配置代码变更自动触发流水线
通过以下配置,可实现代码变更自动触发流水线执行,从而实现项目的持续交付。
- 在流水线任务“phoenix-sample-pipeline”详情页,单击页面右上角“编辑”。
- 选择“执行计划”页签,在“事件触发”目录下勾选“代码提交时触发”开关,在分支过滤下拉列表中勾选分支“master”,单击“保存”。
- 验证配置结果:修改代码并推送至master,即可查看流水线是否自动执行。