【问题标题】:Branch Policy with path restrictions in Azure DevOpsAzure DevOps 中具有路径限制的分支策略
【发布时间】:2021-01-03 20:59:26
【问题描述】:

假设我的存储库有三个目录,如下所示:

  • 一个/
    • file1.txt
    • file2.txt
    • file3.txt
  • b/
    • file1.txt
    • file2.txt
  • c/
    • file4.txt
    • file5.txt

我想创建一个策略,这样如果目录a 中的任何文件被触及,则在同一个拉取请求中不应允许其他目录(bc)中的任何更改。换句话说,要更改目录a 中的任何文件,用户必须创建一个新的PR,并且不能将更改与bc 文件合并。 目录bc 没有此类限制。也就是说,用户可以选择单独更新b 中的文件,单独更新c 中的文件,或者将bc 中的文件的更新合并到一个PR 中。

这是可以在 Azure DevOps 中配置的吗?我浏览了documentation 和常见问题解答,但没有发现任何有用的信息。

提前致谢!

【问题讨论】:

  • 这可能是使用 CI 系统最容易实施的。
  • 我看到这更多的是 git 而不是 DevOps,您可以运行 pre-commit 挂钩脚本作为项目的一部分,并且不允许用户提交此类更改。

标签: git azure-devops azure-pipelines azure-pipelines-build-task


【解决方案1】:

Azure DevOps 不支持 git 服务器端 pre-commit 钩子,但有一个 open Feature Request 关于它。

因此,为了实现您的目标,您可以将build validation policy 添加到您的 PR,在此构建中添加一个 PowerShell 脚本来检查 PR 提交(使用 Rest API),如果 2 个文件夹中有更改,则构建失败。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2017-03-20
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多