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

Continuous integration GitLab自定义CI配置路径和合并请求,continuous-integration,gitlab,Continuous Integration,Gitlab,对于我们的一个存储库,我们将GitLab中的“自定义CI配置路径”设置为远程GitLab-CI.yml。我们希望这样做是为了防止开发人员更改gitlab-ci.yml文件(因为受保护的文件在EE Premium和更高版本中可用)。但除此之外,自定义CI配置路径功能对于合并请求仍应有效 回购 第1组/报告1 我们设定 .gitlab ci。yml@group1/repo1ci repo1 ci存储库存在,当我们推送到配置的分支等时,ci正常工作 对于合并请求功能,GitLab告诉我们: 为…分离的

对于我们的一个存储库,我们将GitLab中的“自定义CI配置路径”设置为远程GitLab-CI.yml。我们希望这样做是为了防止开发人员更改gitlab-ci.yml文件(因为受保护的文件在EE Premium和更高版本中可用)。但除此之外,自定义CI配置路径功能对于合并请求仍应有效

回购 第1组/报告1

我们设定 .gitlab ci。yml@group1/repo1ci

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

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

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

未找到项目
group1/repo1 ci
或访问被拒绝

我们将开发人员作为开发人员添加到repo1 ci repo中,以便能够读取文件。这没有帮助。无论如何,我们的期望是,它不是以用户权限运行的,因此它应该只找到gitlab-ci.yml文件


对此有什么想法吗?

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

如果用户在GitLab UI中使用合并请求功能进行交互,并且您正在为GitLab-CI.yml文件使用“自定义CI配置路径”,请确保

  • 此用户至少需要对该远程文件的读取权限,即使您有意将其移动到另一个repo(例如,在PREMIUM/ULTIMATE中使用增强的文件保护,或在push/merge中为开发人员角色保护分支)
  • 用户已在正在运行的会话中应用此权限更改
最后一个部分对我们的用户来说失败了,因为它在一天后起作用了。似乎他们只是从打开的合并请求页面继续工作,GitLab检查了此会话的可访问性(使用cookie、令牌或未随对远程repo/文件的访问而更新的内容)

它起作用了