首页 > 解决方案 > 基于 Azure Devops PR 的管道

问题描述

我有一个要求,我需要在完成拉取请求后触发一个天蓝色的管道阶段。我已启用成功触发我的管道的分支策略。我的管道由两个阶段组成,如下所述(示例代码)

stages:
  - stage: plan
    displayName: 'terraform plan'
    condition: eq(variables['Build.Reason'], 'PullRequest')
    ...
  - stage: apply
    displayName: 'terraform apply'
    condition: eq(variables['Build.Reason'], 'PullRequest')
    ...

在提出拉取请求时,两个阶段都在执行(按顺序),我只需要首先执行计划阶段并暂停管道,直到 PR 被合并。一旦 PR 被合并,应用阶段应该恢复。我怎样才能做到这一点?

标签: azure-devopsterraformazure-pipelinesdevopspull-request

解决方案


使用阶段时,它不会那样工作。管道在 PR 上触发,但从那时起没有任何新的触发器。在合并时可以触发一个新的管道。

虽然 on-PR-pipeline 尚未完成,但它不会向 PR 报告状态。它需要完成才能成功关闭 PR。

如果需要,您可以重新使用构建工件。


推荐阅读