可以让管道中的任务输出根据所提供的条件确定运行或停止管道。要根据任务输出让管道通过或不通过,请使用“条件”任务。

可以使用条件任务作为管道中的决策点。通过将“条件”任务与提供的条件表达式结合使用,可以评估管道、阶段和任务中的任何属性。

“条件”任务的结果决定了管道中的下一个任务是否运行。

  • 条件为 true 表示允许管道继续运行。
  • 条件为 false 表示停止管道。

有关如何通过将任务与“条件”任务绑定在一起,将一个任务的输出值用作下一个任务的输入的示例,请参见如何在 Code Stream 管道中使用变量绑定

表 1. “条件”任务及其条件表达式与管道的关系
条件任务 影响对象 作用

条件任务

管道

条件任务根据任务输出为 true 还是 false 来确定管道在该点是运行还是停止。

条件表达式

条件任务输出

运行管道时,您在条件任务中包含的条件表达式会生成 true 或 false 输出状态。例如,条件表达式可能需要“条件”任务输出状态为已完成,或者使用构建号 74

条件表达式将显示在“任务”选项卡上的“条件”任务中。

条件表达式支持的构造显示,并提供管道变量、任务输出变量、值和运算符示例。

条件任务在功能和行为上与其他任务类型中的基于条件设置有所不同。

基于条件设置在其他类型的任务中可用。

在其他类型的任务中,基于条件根据当前任务前提条件表达式的评估结果为 true 还是 false,确定当前任务是否运行,而不是连续执行任务。当管道运行时,基于条件设置的条件表达式将针对当前任务生成 true 或 false 输出状态。基于条件设置与自己的条件表达式一起显示在“任务”选项卡上。

此示例使用“条件”任务。

前提条件

  • 确认管道存在,并包含阶段和任务。

过程

  1. 在您的管道中,确定“条件”任务必须出现的决策点。
  2. 在依赖于其通过或未通过状态的任务之前添加“条件”任务。
  3. 向“条件”任务添加条件表达式。
    例如: "${Stage1.task1.output.status}" == "COMPLETED" || ${input.buildNumber} == 74
    在“条件”任务中添加条件表达式,以在管道运行时评估为为 true 或 false。
  4. 验证任务。
  5. 保存管道,然后启用并运行管道

结果

观察管道执行情况,并注意管道是继续运行,还是在“条件”任务处停止。

下一步做什么

如果回滚管道部署,也可以使用“条件”任务。例如,在回滚管道中,“条件”任务可帮助 Code Stream 根据条件表达式标记管道失败,并可以针对各种失败类型触发单个回滚流。

要回滚部署,请参见如何在 Code Stream 中回滚部署