• 沒有找到結果。

流水线提供可视化、可定制的自动交付流水线,支持代码检查、编译构建、部署等多 种任务类型。

随着项目的进行,各个环节(构建、发布、部署)越来越标准化。但是每个环节都相 对独立,是半成品,不能交付业务价值。将每一个环节有效的串联起来形成一套完整 的持续交付流水线,才能够真正提高软件的发布效率与质量,持续不断的创造业务价 值。

通过本章节,您将了解开发人员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(代码开发方式请参考步骤四:开发项 目代码,本节不再赘述),即可查看流水线是否自动执行。

----结束