GitLab Custom CI 配置路径和合并请求
GitLab Custom CI configuration path and merge request
对于我们的一个存储库,我们将 GitLab 中的“自定义 CI 配置路径”设置为远程 gitlab-ci.yml。我们希望这样做是为了防止开发人员更改 gitlab-ci.yml 文件(因为受保护的文件在 EE Premium 及更高版本中可用)。但除了这个目的之外,自定义 CI 配置路径功能无论如何都应该适用于合并请求。
正在回购
group1/repo1
我们设定
.gitlab-ci.yml@group1/repo1-ci
repo1-ci 存储库存在并且 ci 在我们推送到配置的分支等时正常工作
对于合并请求功能,GitLab 告诉我们:
分离合并请求管道 #123 失败...
未找到项目 group1/repo1-ci
或访问被拒绝!
我们将开发人员作为开发人员添加到 repo1-ci 存储库,以便能够读取文件。它没有帮助。无论如何,期望是,它没有 运行 用户权限,所以它应该简单地找到 gitlab-ci.yml 文件。
对此有什么想法吗?
所以我们的期望是正确的,看来我们必须在考虑中添加一件重要的事情:
如果用户在 GitLab UI 中使用合并请求功能进行交互,并且您正在为您的 gitlab-ci.yml 文件使用“自定义 CI 配置路径”,请确保
- 此用户至少需要对该远程文件的读取权限,即使您有意将其移动到另一个存储库(例如,在 PREMIUM/ULTIMATE 或 push/merge 中使用增强的文件保护保护分支开发者角色)
- 用户在 运行 会话中应用了此权限更改
最后一部分对我们的用户来说失败了,因为它在一天后起作用了。似乎他们只是从打开的合并请求页面继续工作,GitLab 检查此会话的可访问性(使用 cookie、令牌或未随远程访问更新的内容 repo/file)
有效!
对于我们的一个存储库,我们将 GitLab 中的“自定义 CI 配置路径”设置为远程 gitlab-ci.yml。我们希望这样做是为了防止开发人员更改 gitlab-ci.yml 文件(因为受保护的文件在 EE Premium 及更高版本中可用)。但除了这个目的之外,自定义 CI 配置路径功能无论如何都应该适用于合并请求。
正在回购 group1/repo1
我们设定 .gitlab-ci.yml@group1/repo1-ci
repo1-ci 存储库存在并且 ci 在我们推送到配置的分支等时正常工作
对于合并请求功能,GitLab 告诉我们:
分离合并请求管道 #123 失败...
未找到项目 group1/repo1-ci
或访问被拒绝!
我们将开发人员作为开发人员添加到 repo1-ci 存储库,以便能够读取文件。它没有帮助。无论如何,期望是,它没有 运行 用户权限,所以它应该简单地找到 gitlab-ci.yml 文件。
对此有什么想法吗?
所以我们的期望是正确的,看来我们必须在考虑中添加一件重要的事情:
如果用户在 GitLab UI 中使用合并请求功能进行交互,并且您正在为您的 gitlab-ci.yml 文件使用“自定义 CI 配置路径”,请确保
- 此用户至少需要对该远程文件的读取权限,即使您有意将其移动到另一个存储库(例如,在 PREMIUM/ULTIMATE 或 push/merge 中使用增强的文件保护保护分支开发者角色)
- 用户在 运行 会话中应用了此权限更改
最后一部分对我们的用户来说失败了,因为它在一天后起作用了。似乎他们只是从打开的合并请求页面继续工作,GitLab 检查此会话的可访问性(使用 cookie、令牌或未随远程访问更新的内容 repo/file)
有效!