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