我有一个 GiHub 存储库,其中包含基于 GitHub 操作的工作流程 (
/.github/workflows/build.yml
) 来进行 CI 构建。
我来自 DevOps 团队,我的情况是,开发团队的人员不允许更改 CI 管道,他们可以在功能分支上更改任何他们想要的内容,除了
/.github/workflows/build.yml
。
如何防止开发人员更改 GitHub 工作流程以查看其应用程序更改通过不同类型的集成构建质量检查?
除了下面提到的选项之外,还有其他更好的方法来实现这一目标吗?
1] Through PR reviews
2] Script/automation to validate PR to see if dev did any changes to (/.github/workflows/build.yml)
使用 代码所有者,您可以指定允许谁修改某些文件,如下所示:
# .github/CODEOWNERS
.github/workflows/build.yml @myorg/devops-team
有点偏离主题,但请注意,Toughtworks 不建议分离代码和管道所有权:
[..] 一般来说,我们发现它痛苦且无益。
Github 宣布了一项新功能,目前正处于公开测试阶段,这使得这成为可能。您现在可以通过 fnmatch 语法限制谁可以将提交推送到 GitHub。有关更多信息,请参阅Github 文档中的推送规则集。