【发布时间】:2022-12-01 11:14:43
【问题描述】:
Q1:我在 ADO YAML 管道中有一个作业,其中有 4-5 个任务在执行。我想根据一些条件触发这些任务,所以我使用了 ADO 表达式。但是现在我想在 taskA 失败时跳过 taskB。默认情况下它应该发生但似乎我的任务条件覆盖了 continueonerror:false
你能建议怎么做吗? 尝试了替代解决方法:在 1 个作业中设置 1 个任务的 Multi Job Pipeline setup & 它对我们来说工作正常,但想知道我们如何在单个作业中设置多个任务?
Q2:即使我可以使用 REST API 将 taskA 状态作为变量并设置变量概念,我如何在任务中添加多个条件。类似于“ variable1=succeeded & variable2 = p1 or variable3 = p2 ”
https://learn.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops
示例 yaml
parameters:
variables:
trigger:
steps:
task: A
continueonerror:false
condition: or(eq(v1, p3), eq(v2, 3), eq(v4, 5))
task: B
continueonerror:false
condition: or(eq(v1, p1), eq(v2, 6))
task: C
continueonerror:false
condition: or(eq(v1, p2), eq(v2, 8))
【问题讨论】:
-
可以肯定的是,您提到了 ADO。我的假设是您指的是 AzDo (Azure DevOps) 对吗?
标签: azure-devops azure-pipelines devops azure-devops-rest-api azure-pipelines-yaml