Azure Devops 发布管道 - 运行 某些阶段成功时的此作业自定义条件

Azure Devops Release Pipeline - Run this job Custom Condition when certain stages succeed

我在 Azure 中有一个“部署网站”的发布管道和另一个“更新 Azure”的阶段。下一阶段 运行 是“冒烟测试”,运行 作业设置为“仅当所有先前的作业都成功时”。

我想在冒烟测试后创建一个新阶段到 运行 回归测试阶段 - 只有当“部署网站”和“更新 Azure”都成功时,即如果“运行 烟雾测试" 成功或失败。

在新阶段的代理作业中,我想我需要将此作业设置运行为“使用变量表达式的自定义条件”,然后设置一个变量表达式

我无法弄清楚要放入自定义字段的可变条件? - 只有当“部署网站”和“更新 Azure”都成功时。 有没有办法访问“代理作业”的 yaml 代码?

您不能在经典版本中执行此操作,但可以在 YAML 中执行此操作:

stages:
- stage: A

# stage B runs if A fails
- stage: B
  condition: failed()

# stage C runs if B succeeds
- stage: C
  dependsOn:
  - A
  - B
  condition: succeeded('B')

尽管如此,您也许可以破解一个基于 REST 的发布门。

您可以通过添加回归测试阶段、将此阶段的 pre-deployment 条件设置为冒烟测试之后并选择“触发”来实现此目的,即使所选阶段部分成功也是如此。

在冒烟测试的任务中,控制选项启用错误时继续。尽管有错误,这会导致冒烟测试注册为部分成功,并确保您的回归测试 运行 无论冒烟测试的结果如何