
# 编排流水线任务
#### 什么是流水线任务
流水线任务是实现流水线功能的基本组成部分，是流水线上可管理的最小执行单元，可以在流水线阶段中进行纳管和串并行编排，根据所配置的执行顺序和时间逐步运行。用户可参考本章节进行配置。
#### 约束与限制
- 单租户最多可创建200个执行方案。
- 修改任务模板后，所有关联了该模板的流水线都将被更新，且此操作不可逆。
 
#### 前提条件
- 已[开通并授权使用CodeArts Pipeline](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html)。

- 当用户角色为"项目管理员"或者"流水线创建者"，可以编排流水线任务，权限配置请参考[授权流水线服务](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0038.html#pipeline_01_0038__section182321614205915)。
 
 #### 配置流水线任务
1. [访问CodeArts Pipeline首页](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0014.html)。
2. 在流水线列表页搜索目标流水线，单击操作列![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002220937637.png)，选择"编辑"。
3. 进入流水线"任务编排"页面，单击阶段下"新建任务"，可根据需要选择从"空任务新建"或"从模板新建"。**使用空模板新建流水线时，"阶段_1"的"新建任务"默认为空任务，无法选择任务模板。**
   
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002515985303.png "点击放大")
   
   - 单击"从空任务新建"，弹出"从空任务新建"侧滑框，参考[表1]配置任务信息。
   
   - 单击"从模板新建"，弹出"从模板新建"侧滑框，选用所需要的模板或前往任务模板创建，任务模板相关操作请参考[表3]配置任务模板。
     - 单击"复制"，进入所选用模板的任务配置界面，可根据需要修改参数信息。
     
     - 单击"关联模板"，进入所选用模板的任务配置界面，直接引用该任务模板，参数信息不可修改。
      
   
   
   单击任务下方的![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002212895430.png)，可以添加一个和该任务串行编排的任务，即按顺序执行，如：构建任务和部署任务应该按顺序先后执行。
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002330151344.png "点击放大")
   
   单击"并行任务"，可以添加一个和已有任务并行编排的任务，即同时执行，如：代码检查任务和构建任务可以同时执行。
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002364190077.png "点击放大")
   
   
   
4. 为任务配置插件及任务信息，操作说明如下： 
    表1配置任务 
   | **操作项** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | 添加插件    | 流水线插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型，可以根据不同类型进行过滤或搜索，插件来源请参考[管理流水线扩展插件](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0028.html)。 将鼠标移动到插件卡片，单击"添加"，即可将插件添加到任务中，请根据需要配置插件相关信息： - 填写插件名称。  - 选择需要调用的任务。支持搜索过滤，如果找不到合适的任务，请根据界面提示新建任务。  - 如果调用的任务有参数，参数也会显示出来，请根据需要配置相应参数。  - 插件名称后有对应标记，单个任务中最多只能添加一个带"任务"标记的插件；带"草稿"标记的插件表示当前用户发布为草稿的自定义插件。  - "挂起流水线"插件只能添加在不含并行任务的阶段中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | 删除插件    | 将鼠标移动到已经添加的插件卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002185657152.png)，选择"删除"，可以删除当前插件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 更换插件    | 将鼠标移动到已经添加的插件卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002185497456.png)，选择"更换"，或者单击插件上方"更换步骤"，可以返回插件列表，更换当前插件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   | 排序插件    | 单击插件卡片不松开，可以移动插件，调整插件顺序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 任务配置    | 配置任务ID、资源池高级设置、任务选择和执行条件。 - 任务ID：流水线阶段任务的ID，同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、"-"、"_"，长度范围为1\~128个字符。  - 资源池高级设置：流水线任务支持三种类型的运行环境，包括默认资源池、专属资源池和自定义资源池。**资源池高级设置仅针对非任务级插件。** - 默认资源池：系统默认的多租户共享资源池，基于容器隔离任务运行环境。  - 专属资源池：系统提供的租户专享资源池，支持通过内网访问用户私有VPC网络。  - 自定义资源池：用户将自有服务器资源，通过网络代理的方式接入，并由CodeArts纳管。详细操作请参见[资源池管理](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0015.html)。   说明： 仅"华北-北京一"、"华北-北京四"、"华南-广州"局点支持资源池类型选择"专属资源池"。   - 任务选择 - 必须选择：必须执行，执行流水线时该任务默认勾选且无法修改。  - 禁止选择：禁止执行，执行流水线时该任务禁止勾选。  - 默认选择：执行流水线时该任务默认勾选但可按需修改。  - 默认不选择：执行流水线时该任务默认不勾选但可按需修改。    - 执行条件：即流水线阶段任务执行时需要满足的前提条件，通过配置执行条件，可以控制阶段任务是否执行。 - 前置任务未选择仍执行：上一个串行任务状态执行成功或未选择，都继续执行当前任务。  - 前置任务成功时执行：上一个串行任务执行成功才执行当前任务。  - 前置任务失败时执行：上一个串行任务执行失败才执行当前任务。  - 始终执行：始终执行当前任务，上一个串行任务状态是失败、成功、中止或忽略执行，都继续执行当前任务。  - 表达式：当前置任务到达终态，包括：成功（COMPLETED）、失败（FAILED）、中止（CANCELED）、忽略执行（IGNORED），且表达式结果为"true"时，执行当前任务，否则不执行。 - 表达式标签模式：单击标签模式下的输入框，可在弹出面板中，点选对应上下文内容、函数或操作符，也可直接在输入框内手动输入表达式，表达式编写请参考[配置流水线执行条件表达式](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0006.html)。 手动输入表达式示例： 在执行条件中定义不管前置任务（任务ID为"job_1"）运行成功或失败，均执行当前任务，表达式语法如下： ``` jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED' ```   - 表达式代码模式：标签模式下点选参数解析后的表达式字符串格式，不支持手动输入。       |
      
   
   
5. 配置完任务，单击"确定"，完成任务添加，可根据实际需要编辑、复制、删除、移动任务。 
   表2管理任务 
   | **操作项** | **说明**                                                                                                                    |
   |:---|:---|
   | 编辑任务    | 单击任务卡片，可以编辑当前任务。                                                                                                          |
   | 复制任务    | 将鼠标移动到任务卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002220937641.png)，可以复制一个和该任务串行编排的任务。 |
   | 删除任务    | 将鼠标移动到任务卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002221023197.png)，根据删除提示确定是否删除任务。    |
   | 排序任务    | 单击任务卡片不松开，可以移动任务调整任务顺序。**任务并行执行时不支持调整顺序。**                                                                                |
      
   
   
6. 任务编排完成后，单击"保存"，弹出"保存信息成功"提示，完成流水线的保存。 
   配置流水线任务过程中遇到的问题请参考[常见报错解决方法](https://support.huaweicloud.com/pipeline_faq/pipeline_faq_0023.html)。
   
   
 
 #### 配置执行方案
流水线执行方案是对流水线中各项任务如何执行，以及在执行过程中如何进行资源分配、监控和管理等方面进行详细规划和设计的方案，是确保流水线能够高效、稳定运行，实现预期目标的重要依据，流水线支持提前配置好执行方案并预置好执行配置，可在定时任务和手动执行时选择。
1. [访问CodeArts Pipeline首页](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0014.html)。
2. 在流水线列表页搜索目标流水线，单击操作列![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002222812785.png)，选择"执行方案"。
3. 单击"新建执行方案"，填写执行方案名称，配置流水线源信息、配置运行参数、选择执行阶段、填写执行描述，配置方法同[执行流水线](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0074.html)。
   
   图1新建执行方案   
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002595825169.png "点击放大")
   
   
4. 单击"保存"，弹出"新建执行方案成功"提示，完成执行方案的新建。可根据需要进行编辑、复制、删除。 
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002517929088.png "点击放大")
   
   
   
 
#### 配置任务模板
流水线任务模板是一种预先定义好的任务流程模型，用于在流水线中快速创建和执行具有特定功能和步骤的任务，包含了任务的各种配置信息和执行逻辑，能够提高任务创建的效率和一致性，减少重复工作。
1. [访问CodeArts Pipeline首页](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0014.html)。
2. 单击"模板"，进入模板页面，单击"任务模板"，进入"任务模板"页面。
3. 单击"新建任务模板"，弹出"新建任务模板"侧滑框，配置相关参数。 
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002399624253.png "点击放大")
   
   
   
4. 为任务配置插件及任务信息，操作说明如下： 
    表3配置任务模板 
   | **操作项** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | 取值示例                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   |:---|:---|:---|
   | 添加插件    | 流水线插件分为构建插件、代码检查插件、部署插件、测试插件和通用插件5种类型，可以根据不同类型进行过滤或搜索，插件来源请参考[管理流水线扩展插件](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0028.html)。 将鼠标移动到插件卡片，单击"添加"，即可将插件添加到任务中，请根据需要配置插件相关信息： - 填写插件名称。  - 选择需要调用的任务。支持搜索过滤，如果找不到合适的任务，请根据界面提示新建任务。  - 如果调用的任务有参数，参数也会显示出来，请根据需要配置相应参数。  - 插件名称后有对应标记，单个任务中最多只能添加一个带"任务"标记的插件；带"草稿"标记的插件表示当前用户发布为草稿的自定义插件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 以添加"Build构建"插件为例，提前[新建构建任务](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0000.html)build01，添加插件时参数配置如下： - 插件名称：build构建。  - 项目配置：本项目。  - 请选择需要调度的任务：build01.  - 仓库：来自流水线   |
   | 删除插件    | 将鼠标移动到已经添加的插件卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002185657152.png)，选择"删除"，可以删除当前插件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 更换插件    | 将鼠标移动到已经添加的插件卡片，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002185497456.png)，选择"更换"，或者单击插件上方"更换步骤"，可以返回插件列表，更换当前插件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 排序插件    | 单击插件卡片不松开，可以移动插件，调整插件顺序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 任务配置    | 配置模板配置、任务ID、资源池高级设置、任务选择和执行条件。 - 模板配置：包括模板名称和描述。 - 模板名称：流水线新建任务模板的名称。  - 描述：流水线新建任务模板的相关描述，长度不超过1024个字符。    - 任务ID：流水线阶段任务的ID，同一条流水线上的任务ID不能重复。支持大小写英文字母、数字、中划线和下划线，长度范围为1\~128个字符。 说明： 任务模板中，仅任务ID在编排流水线时是可编辑的。   - 资源池高级设置：流水线任务支持三种类型的运行环境，包括默认资源池、专属资源池和自定义资源池。**资源池高级设置仅针对非任务级插件。** - 默认资源池：系统默认的多租户共享资源池，基于容器隔离任务运行环境。  - 专属资源池：系统提供的租户专享资源池，支持通过内网访问用户私有VPC网络。  - 自定义资源池：用户将自有服务器资源，通过网络代理的方式接入，并由CodeArts纳管。详细操作请参见[资源池管理](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0015.html)。   说明： 仅"华北-北京一"、"华北-北京四"、"华南-广州"局点支持资源池类型选择"专属资源池"。   - 任务选择 - 必须选择：必须执行，执行流水线时该任务默认勾选且无法修改。  - 禁止选择：禁止执行，执行流水线时该任务禁止勾选。  - 默认选择：执行流水线时该任务默认勾选但可按需修改。  - 默认不选择：执行流水线时该任务默认不勾选但可按需修改。    - 执行条件：即流水线阶段任务执行时需要满足的前提条件，通过配置执行条件，可以控制阶段任务是否执行。 - 前置任务未选择仍执行：上一个串行任务状态执行成功或未选择，都继续执行当前任务。  - 前置任务成功时执行：上一个串行任务执行成功才执行当前任务。  - 前置任务失败时执行：上一个串行任务执行失败才执行当前任务。  - 始终执行：始终执行当前任务，上一个串行任务状态是失败、成功、中止或忽略执行，都继续执行当前任务。  - 表达式：当前置任务到达终态，包括：成功（COMPLETED）、失败（FAILED）、中止（CANCELED）、忽略执行（IGNORED），且表达式结果为"true"时，执行当前任务，否则不执行。 - 表达式标签模式：单击标签模式下的输入框，可在弹出面板中，点选对应上下文内容、函数或操作符，也可直接在输入框内手动输入表达式，表达式编写请参考[配置流水线执行条件表达式](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0006.html)。 手动输入表达式示例： 在执行条件中定义不管前置任务（任务ID为"job_1"）运行成功或失败，均执行当前任务，表达式语法如下： ``` jobs.job_1.status == 'COMPLETED' || jobs.job_1.status == 'FAILED' ```   - 表达式代码模式：标签模式下点选参数解析后的表达式字符串格式，不支持手动输入。       | 以添加"build构建任务模板"为例，参数配置如下： - 模板名称：build构建任务模板。  - ID：JOB_KJbee。  - 任务选择：默认选择。  - 执行条件：前置任务未执行仍选择。                                                                                                      |
      
   
   
5. 配置完任务，单击"确定"，跳转至模板页面，完成任务模板的新建。 
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002321408398.png "点击放大")
   - 单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002221095345.png)，弹出"编辑任务模板"侧滑框，可对该任务模板进行编辑。
     编辑完任务模板，单击"确定"，弹出"编辑任务模板"弹窗，若确认修改，单击"一键输入"，单击"确定"，完成对任务模板的修改。
     ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002505484801.png "点击放大")
     
     
   
   - 单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002185855422.png)，弹出"删除任务模板"弹窗，单击"确定"可删除该任务模板。
     如果该任务模板已被流水线引用，删除任务模板时，单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002518092194.png)，会弹出"删除任务模板"对话框。若确认删除，单击"一键输入"，然后再次单击"确定"以完成任务模板的删除。
     ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002549489125.png "点击放大")
     
     
    
   
   
