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

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

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

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

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

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

条件任务

管道

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

条件表达式

条件任务输出

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

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

“条件”任务中的条件表达式。

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

其他任务类型中的“基于条件”设置。

在其他任务类型中,基于条件设置:

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

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

前提条件

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

过程

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

结果

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

后续步骤

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

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