如何从交叉回购策略中排除存储库?

时间:2020-01-14 23:26:05

标签: azure-devops

Azure DevOps中的交叉回购策略是一项改进,但当前它们只是锤子而不是手术刀。

我是我组织的Azure DevOps管理员,我收到一个使用CocoaPods构建IOS应用程序的团队的请求,允许将其推送到保存PodSpecs的存储库的主分支。

这显然是CocoaPods的工作方式,这是他们说无法通过功能分支和拉取请求来控制的事情。

虽然CocoaPods拥有pull request来消除此荒谬的限制,但与此同时,我似乎被迫从项目的所有存储库的所有主分支中删除保护,原因是目前似乎无法采取任何措施指定:

将分支限制应用于项目中所有当前和将来的存储库的master分支,除了名为“ XYZ”的存储库

外面的人是否知道我是否读得正确或有解决方案?

谢谢。

2 个答案:

答案 0 :(得分:0)

交叉回购策略旨在创建适用于项目中所有存储库的策略,但是,您可以为Azure发行版中存储库的每个特定分支创建一个分支策略。

因此,对于您的方案,您可以为每个分支创建分支策略,而不是创建适用于所有存储库的交叉仓库策略。

您可以按照以下步骤为分支机构定义分支机构策略。

1,选择回购> 分支,以在项目的Web门户中打开“分支”页面。

2,在分支页上,单击所选分支的3个点以进行保护>选择分支策略

enter image description here

3,然后配置分支机构策略。

以这种方式创建的分支策略仅影响此存储库的此特定分支。

有关更多信息,请检查Improve code quality with branch policies

不过,您可以submit a feature请求(单击“建议功能并选择Azure devops”)以在Microsoft开发团队的Cross Repo策略中支持存储库例外。希望他们会考虑并在将来实现此功能。

答案 1 :(得分:0)

这并不理想,但目前完成此操作的最佳方法似乎是允许某些组或用户在推送要排除的存储库时绕过策略。