首页 > 解决方案 > 让 Azure DevOps 审查 GitHub 拉取请求

问题描述

https://azurecomcdn.azureedge.net/cvt-15581a490a8fb478b3258ea2c0ebb74bfa82fabce2af64ffc38962598949b138/images/page/services/devops/pipelines/github-integrations.jpg

我的代码仓库在 GitHub 中,我的管道在 Azure DevOps 中配置。

我需要让 Azure DevOps 检查和过滤提交到我的 GitHub 存储库的每个拉取请求,并限制要合并的拉取请求,直到它通过 Azure DevOps 构建。Azure DevOps 似乎确实支持这一点。但是没有关于它的文档或教程。如何做到这一点?

标签: azuregithubazure-devopsazure-pipelinesdevops

解决方案


您需要为您的分支定义构建验证策略(取自使用分支策略改进代码质量 > 构建验证

  • 从构建定义下拉列表中选择构建定义。
  • 选择触发器的类型 - 自动(无论何时更新源分支)或手动。
  • 配置策略要求。如果设置为必需,则构建必须成功完成才能完成拉取请求。选择可选以提供构建失败的通知,但仍允许拉取请求完成。
  • 设置构建过期时间以确保对受保护分支的更新不会破坏打开的拉取请求中的更改。
    • branch name 更新时立即:此选项将拉取请求中的构建策略状态设置为在更新受保护分支时失败。您必须重新排队构建以刷新构建状态。此设置可确保即使受保护的分支发生更改,拉取请求中的更改也会成功构建。此选项最适合具有重要分支且更改量较少的团队。在繁忙的开发分支中工作的团队可能会发现每次更新受保护的分支时等待构建完成会造成干扰。
    • After n hours if branch name has been updated:如果通过的构建版本早于输入的阈值,则当受保护的分支更新时,此选项会使当前策略状态过期。此选项是在受保护分支更新时始终需要构建和从不需要构建之间的折衷。当您的受保护分支频繁更新时,此选择非常适合减少构建次数。
    • 从不:对受保护分支的更新不会更改策略状态。这会减少分支的构建数量,但在关闭最近未更新的拉取请求时可能会导致问题。
  • 为此构建策略选择一个可选的显示名称,用于在“分支策略”页面上标识该策略。如果您未指定显示名称,则使用构建定义名称。

配置完成后,来自GitHub的拉取请求应触发Azure DevOps中的构建。

希望能帮助到你!


推荐阅读