流水线提供可视化、可定制的自动交付流水线,支持代码检查、编译构建、部署等多 种任务类型。
随着项目的进行,各个环节(构建、发布、部署)越来越标准化。但是每个环节都相 对独立,是半成品,不能交付业务价值。将每一个环节有效的串联起来形成一套完整 的持续交付流水线,才能够真正提高软件的发布效率与质量,持续不断的创造业务价 值。
通过本章节,您将了解开发人员Chris如何使用流水线服务将代码检查、编译构建、部 署任务串联起来,实现持续交付。
预置流水线简介
样例项目中预置了如表1-33所示的5个流水线任务,可根据需要查看并使用。
表1-33 预置流水线任务
预置流水线任务 任务说明
phoenix-workflow 基本的流水线任务。
phoenix-workflow-test 测试环境对应的流水线任务。
phoenix-workflow-work Worker功能对应的流水线任务。
phoenix-workflow-result Result功能对应的流水线任务。
phoenix-workflow-vote Vote功能对应的流水线任务。
说明
关于Vote、Result、Worker的说明,请参见HE2E DevOps实践介绍。
配置并执行流水线
选择代码源 依次选择代码源“CodeHub”、仓库“phoenix-sample”、默 认分支“master”。
3. 单击页面左上角 ,输入流水线名称“phoenix-sample-pipeline”。
4. 分别单击构建阶段前后的 ,添加两个流水线阶段,如图1-90所示。
图1-90 添加流水线阶段
5. 单击“阶段_1”中的图标 ,在右侧滑出框中输入名称“代码检查”,单击“保 存”,如图1-91所示。
图1-91 编辑流水线阶段名称
6. 按照同样的方式,将“阶段_2”命名为“部署”。
7. 在代码检查阶段中添加代码检查任务。
a. 单击阶段“代码检查”中“添加任务”,如图1-92所示。
图1-92 添加任务
b. 在右侧滑出框中,类型选择“代码检查”,并选择代码检查任务“phoenix-codecheck-worker”,单击“保存”,如图1-93所示。
图1-93 选择代码检查任务
8. 按照同样的方式,添加在构建阶段添加子任务“phoenix-sample-ci”,在部署阶 段添加子任务“phoenix-sample-standalone”。
9. 单击“保存”,完成流水线的创建,页面自动跳转至任务详情页。
步骤2 执行流水线。
单击“全新执行”,启动流水线(若有弹框,请根据实际情况填写配置项,并直接单 击“执行”)。
流水线执行耗时约5~8分钟,当出现如图1-94所示的页面时,表示任务执行成功。
若任务执行失败,请于执行失败处检查失败原因(如:部署阶段执行失败,则进入部 署任务查看部署日志,结合部署失败解决方法排查失败原因),或参照流水线服务常
图1-94 流水线执行成功
----结束
配置质量门禁
为了控制代码的质量,代码必须经过扫描,并且错误数量控制在合理范围内,才允许 发布。通过添加质量门禁可以有效的自动化控制流程。
通过步骤五:检查项目代码可知,代码检查问题数有11个。若在流水线中添加代码检 查门禁,并将门禁阈值设置为小于11,则流水线将会执行失败。
步骤1 在流水线任务“phoenix-sample-pipeline”详情页,单击页面右上角“编辑”。
步骤2 在阶段“代码检查”,单击“质量门禁”处的图标 。 步骤3 添加质量门禁,如图1-95所示。
1. 在页面右侧滑框中,单击“点击创建”。
2. 在弹框中输入名称“代码检查门禁”。
3. 打开“CodeCheck问题数”开关。
4. 输入门禁阈值“5”,单击“保存”。
图1-95 新建门禁
步骤4 在“门禁”下拉列表中选择在上一步中创建的“代码检查门禁”,单击“保存”。
步骤5 保存流水线,并启动流水线任务。
由于代码检查问题数为11,大于门禁阈值,因此待任务执行结束可观察到,流水线任 务执行失败,如图1-96所示。
图1-96 流水线执行失败
----结束
配置代码变更自动触发流水线
通过以下配置,可实现代码变更自动触发流水线执行,从而实现项目的持续交付。
步骤1 在流水线任务“phoenix-sample-pipeline”详情页,单击页面右上角“编辑”。
步骤2 选择“执行计划”页签,页面默认显示“持续集成”页面。打开“代码提交时触发”
图1-97 配置持续集成
步骤3 验证配置结果:修改项目代码并推送至master(代码开发方式请参考步骤四:开发项 目代码,本节不再赘述),即可查看流水线是否自动执行。
----结束