GitLab自定义CI配置路径和合并请求



对于我们的一个存储库,我们设置"自定义CI配置路径";GitLab内部的GitLab-ci.yml。我们希望这样做是为了防止开发人员更改GitLab-ci.yml文件(因为受保护的文件在EE Premium及更高版本中可用(。但除此目的外,自定义CI配置路径功能无论如何都应适用于合并请求。

正在回购组1/repo1

我们设置.gitlab-ci.yml@group1/repo1-ci

repo1-ci存储库存在,当我们推送到配置的分支等时,ci工作正常。

对于合并请求功能,GitLab告诉我们:

的分离合并请求管道#123失败。。。

找不到项目group1/repo1-ci或拒绝访问!

我们将开发人员添加到repo1 ci repo作为开发人员,以便能够读取文件。这无济于事。不管怎样,我们的期望是,它不是用用户权限运行的,所以它应该简单地找到gitlab-ci.yml文件。

对此有什么想法吗?

所以我们的期望是正确的,似乎我们必须在考虑中添加一件重要的事情:

如果用户在GitLab UI中与Merge Request功能交互,并且您正在使用";自定义CI配置路径";对于您的gitlab-ci.yml文件,请确保

  • 此用户至少需要对该远程文件的读取权限,即使您故意将其移动到另一个存储库(例如,在PREMIUM/ULTIMATE中使用增强的文件保护,或为开发人员角色推送/合并保护分支(
  • 用户在运行的会话中应用了此权限更改

最后一部分对我们的用户来说失败了,因为它在一天后起了作用。似乎他们只是在打开的合并请求页面上继续工作,GitLab检查该会话的可访问性(使用cookie、令牌或其他未更新的远程repo/文件访问权限(。

最新更新