首页 > 解决方案 > 如果发布失败,则 CI 管道失败

问题描述

我正在尝试设置一个分支策略,其中在完成拉取请求之前的构建验证必须确保构建和发布管道成功。我可以使 CI 管道失败,但如果部署失败,我想使 CI 管道失败。我该怎么做呢?

我在 CI 管道 .yaml 之外有一个单独的发布管道。

谢谢

标签: azure-devopsazure-pipelines

解决方案


您可以为目标分支设置构建验证。它将强制您选择的构建管道使用拉取请求提供的文件运行。

https://docs.microsoft.com/en-us/azure/devops/repos/git/branch-policies?view=azure-devops

对于发布管道,添加 Pull Request 触发器并设置目标分支。它将使用您的构建管道中的工件。

https://docs.microsoft.com/en-us/azure/devops/pipelines/release/deploy-pull-request-builds?view=azure-devops

如果任何失败的拉取请求将被停止。

附加说明(与您的问题不完全相关)。在 Azure DevOps REST API 中,当您不想让管道失败但想要停止拉取请求时,有一个端点允许您在特殊情况下将拉取请求状态更改为“已放弃”状态。

https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests/update?view=azure-devops-rest-5.1


推荐阅读