TFS 为 运行 任务构建自定义条件 - 检查特定的先前任务是否失败

TFS build custom conditions for running a task - check if specific previous task has failed

TFS 构建允许为 运行 任务指定条件:reference

我想定义的条件是:[按名称或其他方式寻址] 的特定任务失败。

这与 Only when a previous task has failed 类似,但我想指定之前的任务。

查看这些示例,我没有看到任何解决特定任务结果的条件,只有整个构建状态。

可能吗?有什么解决方法可以实现这一点?

对于这个要求似乎没有开箱即用的解决方案,但我可以想出(一个丑陋的:))解决方法。

假设您的特定任务(您检查其状态的任务)称为 A。目标是仅在 A 失败时调用另一个构建任务(假设 B)。

您可以执行以下操作:

  • 定义一个custom build variable,将其命名为task.A.status并设置为success
  • 创建另一个构建任务,例如C 并安排在 A 之后;如果 A 失败,则仅将其设置为 运行 - 有一个标准条件
  • 任务 C 应该只做一件事 - 将 task.A.status 构建变量设置为 'failure'(像这样,如果我们使用 PowerShell:Write-Host "##vso[task.setvariable variable=task.A.status]failure"
  • 最后,任务 B 被安排在 Cis conditioned 到 运行 之后的某个时间,以防 task.A.status 等于 failure,例如这个:eq(variables['task.A.status'], 'failure')

我的语法细节可能不正确,但您应该了解总体思路。希望对你有帮助。