Azure DevOps Pipelines - PR 仅触发 运行 一个阶段,完成后继续

Azure DevOps Pipelines - PR trigger only run one stage, after complete continue

我的 .NET 应用程序有一个 azure-pipelines.yaml Pipeline A,分 3 个阶段。

Stage 1: Restore, Build, Unit test, Publish artifact

Stage 2: Consume artifact, build Docker image, push it to Artifact Repository

Stage 3: Perform bash script

这与正常的持续集成触发器一起工作正常,但现在我也想添加 PR 触发器。

是否可以执行Stage 1(仅恢复、构建、单元测试、发布工件)与 PR然后将其“搁置”直到 PR 完成。完成后,继续 Stage 2 并使用已发布的工件并继续构建 docker 图像等? 还是我最好设置一个全新的管道?

感谢您的指导!

这是不可能的。但是恕我直言,您不需要这个。您需要做的就是 运行 PR 触发器的第一阶段,以验证您的代码状态。然后当它到达主分支时,CI 触发器会重新启动并 运行 所有阶段。

要将第一阶段限制为 PR 触发,您需要在阶段级别使用此条件:

and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))

请将此添加到第二和第三阶段。