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