【问题标题】:How to do perform a task branching in azure pipelines in case of failure?如果发生故障,如何在 Azure 管道中执行任务分支?
【发布时间】:2021-12-13 07:17:20
【问题描述】:

我有以下 3 个任务。 我想要做的是当 npm1 成功时它将执行 npm2a 并跳过 npm2b。 而当 npm1 失败时,它会跳过 npm2a 并执行 npm2b。

如何在 Azure 管道中做到这一点? 请不要指向我的教程。

【问题讨论】:

  • 在这些任务之前还有其他任务吗?
  • @ShaykiAbramczyk,是的。在这些任务之前和之后都有任务。但是,我只想在上面的 3 个任务上执行一个任务分支。

标签: azure azure-devops azure-pipelines pipeline


【解决方案1】:

如果发生故障,如何在 Azure 管道中执行任务分支?

您可以在npm1npm2a 之间添加命令行或内联PowerShell 任务来调用Logging Commands

Write-Host "##vso[task.setvariable variable=testvar;]npm2b"

然后我们用Only when a previous task has failed设置这个任务的条件:

并设置一个变量testvar,默认值为npm2a

另外,设置任务npm2anpm2b的条件:

and(succeeded(), eq(variables['testvar'], 'npm2a'))

and(failed(), eq(variables['testvar'], 'npm2b'))

【讨论】:

  • 并设置一个默认值为 npm2ai 的变量 testvar -> 这是环境变量还是输出变量?
  • @DexterBoyGenius,只是变量选项卡中的管道变量。
猜你喜欢
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 2022-08-19
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-27
相关资源
最近更新 更多