如何将跑步者限制到特定分支并锁定.gitlab-ci.yml?

Cau*_*ere 11 gitlab-ci gitlab-ci-runner gitlab-ce

现在,任何在我的项目中创建分支并向其添加.gitlab-ci.yml文件的人都可以使用运行程序在我的服务器上执行命令.如何才能使主持人或所有者可以上传CI配置文件并对其进行更改?

我正在使用https://gitlab.com/gitlab-org/gitlab-ci-multi-runner在bash上运行.

Fai*_*iry 5

GitLab runner 并不是真正为这种情况设计的,因此您无法做到这一点。您可以做的是创建一个仅包含您的.gitlab-ci.yml文件的新项目并对其进行配置,以便拉取原始存储库。从那里,您可以对存储库执行所有其他操作。

  • @CausingUnderflowsEverywhere 你有 2 个回购。存储库 A 是您的原始存储库,没有启用运行器,也没有 CI 文件。Repo B 是您的“Runner repo”,其中只有 CI 文件。在那个文件中,你`git pull` Repo A 并做你想做的所有其他事情。这样您就可以锁定 CI 文件并仍然拥有所有权限。没有其他方法可以真正做到这一点。 (2认同)

小智 1

Gitlab 现在支持将文件移动到存储库之外.gitlab-ci.yml的其他位置。只有具有管理员存储库访问权限的人员才能更改此设置,因此非常适合为存储库的大多数用户提供只读管道。