Azure DevOps 管道任务等待运行以等待另一个管道完成

Chr*_*ffy 11 yaml pipeline azure azure-devops azure-pipelines

我有一个关于 Azure DevOps 管道和任务的问题,想知道是否有人可以提供帮助。

我有一个管道,其中包含运行 PowerShell 脚本的任务。该脚本启动一个单独的管道,但是一旦该脚本运行,原始任务将返回“pass”(如预期),并且原始管道中的下一个任务开始运行。

理想情况下,我希望管道 1 中的下一个任务等到由脚本启动的管道完成(并返回通过)。有谁知道可以实现这一目标的方法吗?这些步骤使用 YAML。到目前为止,我已经看到了等待同一管道中其他步骤的条件,但没有什么可以阻止步骤运行,直到完全独立的管道完成(并成功通过)。

希望我说得有道理。如果有帮助的话我可以提供屏幕截图!

Sha*_*zyk 10

您可以安装并使用触发器构建任务扩展,而不是使用 PowerShell 脚本触发构建。您可以选择等待触发的构建完成后再继续构建

在此输入图像描述

在 YAML 中:

- task: TriggerBuild@3
  displayName: 'Trigger a new build of Test'
  inputs:
    buildDefinition: Test
    waitForQueuedBuildsToFinish: true
    waitForQueuedBuildsToFinishRefreshTime: 60
Run Code Online (Sandbox Code Playgroud)

如果启用此选项,脚本将等待所有排队的构建完成。注意:这可能需要一段时间,具体取决于您的构建,并且您的构建将不会继续。如果您只有一个构建代理,您甚至会陷入僵局!