代码之家  ›  专栏  ›  技术社区  ›  Mugen

TFS生成运行任务的自定义条件-检查以前的特定任务是否失败

  •  1
  • Mugen  · 技术社区  · 6 年前

    TFS build允许指定运行任务的条件: reference

    我想定义的条件是:特定任务[通过名称或其他方式解决]失败。

    这类似于 Only when a previous task has failed ,但我想指定是哪个上一个任务。

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

    有可能吗?有什么解决方法可以做到这一点吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Yan Sklyarenko Rob Mensching    6 年前

    对于这个需求,似乎没有现成的解决方案,但我可以想出(一个丑陋的:)解决方法。

    假设您的特定任务(您根据其状态检查的任务)被调用 A 。目标是调用另一个构建任务(例如 B )仅在情况下 A. 失败。

    您可以执行以下操作:

    • 定义一个 custom build variable ,调用它 task.A.status 并设置为 success
    • 创建另一个构建任务,例如。 C 然后马上安排 A. ; 条件为仅在以下情况下运行 A. 失败-这有一个标准条件
    • 任务 C 应该只做一件事-设置 任务A、 状态 将变量构建为“failure”(如下所示,如果我们谈论的是PowerShell: Write-Host "##vso[task.setvariable variable=task.A.status]failure" )
    • 最后,任务 B 计划在 C is conditioned 在案例中运行 任务A、 状态 等于 failure ,如下所示: eq(variables['task.A.status'], 'failure')

    我可能在语法细节上不正确,但你应该了解大概的意思。希望有帮助。