编排流水线任务
什么是流水线任务
流水线任务是实现流水线功能的基本组成部分,是流水线上可管理的最小执行单元,可以在流水线阶段中进行纳管和串并行编排,根据所配置的执行顺序和时间逐步运行。用户可参考本章节进行配置。
前提条件
- 已开通并授权使用CodeArts Pipeline。
- 当用户角色为“项目管理员”或者“流水线创建者”,可以编排流水线任务,权限配置请参考授权流水线服务。
配置流水线任务
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列
,选择“编辑”。
- 进入流水线“任务编排”页面,单击阶段下“新建任务”,可根据需要选择从“空任务新建”或“从模板新建”。使用空模板新建流水线时,“阶段_1”的“新建任务”默认为空任务,无法选择任务模板。
单击“从空任务新建”,弹出“从空任务新建”侧滑框,参考表1配置任务信息。
单击“从模板新建”,弹出“从模板新建”侧滑框,选用所需要的模板,任务模板相关操作请参考表3配置任务模板。
- 为任务配置插件及任务信息,操作说明如下:
表1 配置任务 操作项
说明
添加插件
流水线插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索,插件来源请参考管理流水线扩展插件。
将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中,请根据需要配置插件相关信息:
- 填写插件名称。
- 选择需要调用的任务。支持搜索过滤,如果找不到合适的任务,请根据界面提示新建任务。
- 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。
- 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“草稿”标记的插件表示当前用户发布为草稿的自定义插件。
- “挂起流水线”插件只能添加在不含并行任务的阶段中。
删除插件
将鼠标移动到已经添加的插件卡片,单击
,选择“删除”,可以删除当前插件。
更换插件
将鼠标移动到已经添加的插件卡片,单击
,选择“更换”,或者单击插件上方“更换步骤”,可以返回插件列表,更换当前插件。
排序插件
单击插件卡片不松开,可以移动插件,调整插件顺序。
任务配置
配置任务ID、资源池高级设置、任务选择和执行条件。
- 任务ID:流水线阶段任务的ID,同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、“-”、“_”,长度范围为1~128个字符。
- 执行主机:包括内置执行机和自定义执行机。执行主机仅针对非任务级插件。
- 内置执行机:服务提供的执行主机,用户无需配置开箱即用。
- 自定义执行机:支持用户自行配置工具和运行环境,以满足不同任务的需求。选择自定义执行机需提前在资源池添加代理资源池,详细操作请参见资源池管理。
- 资源池高级设置:流水线任务支持三种类型的运行环境,包括默认资源池、专属资源池和自定义资源池。资源池高级设置仅针对非任务级插件。
- 默认资源池:系统默认的多租户共享资源池,基于容器隔离任务运行环境。
- 专属资源池:系统提供的租户专享资源池,支持通过内网访问用户私有VPC网络。
- 自定义资源池:用户将自有服务器资源,通过网络代理的方式接入,并由CodeArts纳管。详细操作请参见资源池管理。
说明:“资源池高级设置”仅适用于“广州”局点,“执行主机”适用于其他局点。
- 任务选择
- 必须选择:必须执行,执行流水线时该任务默认勾选且无法修改。
- 禁止选择:禁止执行,执行流水线时该任务禁止勾选。
- 默认选择:执行流水线时该任务默认勾选但可按需修改。
- 默认不选择:执行流水线时该任务默认不勾选但可按需修改。
- 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。
- 前置任务未选择仍执行:上一个串行任务状态执行成功或未选择,都继续执行当前任务。
- 前置任务成功时执行:上一个串行任务执行成功才执行当前任务。
- 前置任务失败时执行:上一个串行任务执行失败才执行当前任务。
- 始终执行:始终执行当前任务,上一个串行任务状态是失败、成功、中止或忽略执行,都继续执行当前任务。
- 表达式:当前置任务到达终态,包括:成功(COMPLETED)、失败(FAILED)、中止(CANCELED)、忽略执行(IGNORED),且表达式结果为“true”时,执行当前任务,否则不执行。
- 表达式标签模式:单击标签模式下的输入框,可在弹出面板中,点选对应上下文内容、函数或操作符,也可直接在输入框内手动输入表达式,表达式编写请参考配置流水线执行条件表达式。
手动输入表达式示例:
在执行条件中定义不管前置任务(任务ID为“job_1”)运行成功或失败,均执行当前任务,表达式语法如下:
jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED'
- 表达式代码模式:标签模式下点选参数解析后的表达式字符串格式,不支持手动输入。
- 表达式标签模式:单击标签模式下的输入框,可在弹出面板中,点选对应上下文内容、函数或操作符,也可直接在输入框内手动输入表达式,表达式编写请参考配置流水线执行条件表达式。
- 配置完任务,单击“确定”,完成任务添加,可根据实际需要编辑、复制、删除、移动任务。
表2 管理任务 操作项
说明
编辑任务
单击任务卡片,可以编辑当前任务。
复制任务
将鼠标移动到任务卡片,单击
,可以复制一个和该任务串行编排的任务。
删除任务
将鼠标移动到任务卡片,单击
,根据删除提示确定是否删除任务。
排序任务
单击任务卡片不松开,可以移动任务调整任务顺序。任务并行执行时不支持调整顺序。
- 任务编排完成后,单击“保存”,弹出“保存信息成功”提示,完成流水线的保存。
配置执行方案
流水线执行方案是对流水线中各项任务如何执行,以及在执行过程中如何进行资源分配、监控和管理等方面进行详细规划和设计的方案,是确保流水线能够高效、稳定运行,实现预期目标的重要依据,流水线支持提前配置好执行方案并预置好执行配置,可在定时任务和手动执行时选择。
- 访问CodeArts Pipeline首页。
- 在流水线列表页搜索目标流水线,单击操作列
,选择“执行方案”。
- 单击“新建执行方案”,填写执行方案名称,配置流水线源信息、配置运行参数、选择执行阶段、填写执行描述,配置方法同执行流水线。
图1 新建执行方案
- 单击“保存”,弹出“新建执行方案成功”提示,完成执行方案的新建。可根据需要进行编辑、复制、删除。
配置任务模板
流水线任务模板是一种预先定义好的任务流程模型,用于在流水线中快速创建和执行具有特定功能和步骤的任务,包含了任务的各种配置信息和执行逻辑,能够提高任务创建的效率和一致性,减少重复工作。
- 访问CodeArts Pipeline首页
- 单击“模板”,进入模板页面,单击“任务模板”,进入“任务模板”页面。
- 单击“新建任务模板”,弹出“新建任务模板”侧滑框,配置相关参数。
- 为任务配置插件及任务信息,操作说明如下:
表3 配置任务模板 操作项
说明
取值示例
添加插件
流水线插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型,可以根据不同类型进行过滤或搜索,插件来源请参考管理流水线扩展插件。
将鼠标移动到插件卡片,单击“添加”,即可将插件添加到任务中,请根据需要配置插件相关信息:
- 填写插件名称。
- 选择需要调用的任务。支持搜索过滤,如果找不到合适的任务,请根据界面提示新建任务。
- 如果调用的任务有参数,参数也会显示出来,请根据需要配置相应参数。
- 插件名称后有对应标记,单个任务中最多只能添加一个带“任务”标记的插件;带“草稿”标记的插件表示当前用户发布为草稿的自定义插件。
以添加“Build构建”插件为例,提前新建构建任务build01,添加插件时参数配置如下:
- 插件名称:build构建。
- 项目配置:本项目。
- 请选择需要调度的任务:build01.
- 仓库:来自流水线
删除插件
将鼠标移动到已经添加的插件卡片,单击
,选择“删除”,可以删除当前插件。
-
更换插件
将鼠标移动到已经添加的插件卡片,单击
,选择“更换”,或者单击插件上方“更换步骤”,可以返回插件列表,更换当前插件。
-
排序插件
单击插件卡片不松开,可以移动插件,调整插件顺序。
-
任务配置
配置模板配置、任务ID、资源池高级设置、任务选择和执行条件。
- 模板配置:包括模板名称和描述。
- 模板名称:流水线新建任务模板的名称。
- 描述:流水线新建任务模板的相关描述,长度不超过1024个字符。
- 任务ID:流水线阶段任务的ID,同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、“-”、“_”,长度范围为1~128个字符。
说明:
任务模板中,仅任务ID在编排流水线时是可编辑的。
- 资源池高级设置:流水线任务支持三种类型的运行环境,包括默认资源池、专属资源池和自定义资源池。资源池高级设置仅针对非任务级插件。
- 默认资源池:系统默认的多租户共享资源池,基于容器隔离任务运行环境。
- 专属资源池:系统提供的租户专享资源池,支持通过内网访问用户私有VPC网络。
- 自定义资源池:用户将自有服务器资源,通过网络代理的方式接入,并由CodeArts纳管。详细操作请参见资源池管理。
说明:“资源池高级设置”仅适用于“广州”局点,“执行主机”适用于其他局点。
- 任务选择
- 必须选择:必须执行,执行流水线时该任务默认勾选且无法修改。
- 禁止选择:禁止执行,执行流水线时该任务禁止勾选。
- 默认选择:执行流水线时该任务默认勾选但可按需修改。
- 默认不选择:执行流水线时该任务默认不勾选但可按需修改。
- 执行条件:即流水线阶段任务执行时需要满足的前提条件,通过配置执行条件,可以控制阶段任务是否执行。
- 前置任务未选择仍执行:上一个串行任务状态执行成功或未选择,都继续执行当前任务。
- 前置任务成功时执行:上一个串行任务执行成功才执行当前任务。
- 前置任务失败时执行:上一个串行任务执行失败才执行当前任务。
- 始终执行:始终执行当前任务,上一个串行任务状态是失败、成功、中止或忽略执行,都继续执行当前任务。
- 表达式:当前置任务到达终态,包括:成功(COMPLETED)、失败(FAILED)、中止(CANCELED)、忽略执行(IGNORED),且表达式结果为“true”时,执行当前任务,否则不执行。
- 表达式标签模式:单击标签模式下的输入框,可在弹出面板中,点选对应上下文内容、函数或操作符,也可直接在输入框内手动输入表达式,表达式编写请参考配置流水线执行条件表达式。
手动输入表达式示例:
在执行条件中定义不管前置任务(任务ID为“job_1”)运行成功或失败,均执行当前任务,表达式语法如下:
jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED'
- 表达式代码模式:标签模式下点选参数解析后的表达式字符串格式,不支持手动输入。
- 表达式标签模式:单击标签模式下的输入框,可在弹出面板中,点选对应上下文内容、函数或操作符,也可直接在输入框内手动输入表达式,表达式编写请参考配置流水线执行条件表达式。
以添加“build构建任务模板”为例,参数配置如下:
- 模板名称:build构建任务模板。
- ID:JOB_KJbee。
- 任务选择:默认选择。
- 执行条件:前置任务未执行仍选择。
- 配置完任务,单击“确定”,跳转至模板页面,完成任务模板的新建。
- 单击
,弹出“编辑任务模板”侧滑框,可对该任务模板进行编辑。
- 单击
,弹出“删除任务模板”弹窗,单击“确定”可删除该任务模板。
- 单击