首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GitLab Bot帐户如何使用依赖代理?

GitLab Bot帐户如何使用依赖代理?
EN

Stack Overflow用户
提问于 2022-03-15 15:23:19
回答 1查看 167关注 0票数 3

最近,我们在一个自托管的GitLab实例上为我们的项目采用了GitLab依赖代理。

对于普通用户来说,这很好,但是对于使用项目或组访问令牌通过API创建的管道,不管访问级别如何,都会失败。

我们尝试使用具有API权限和开发人员角色的项目令牌,以及具有该权限和开发人员角色的组帐户。

我们还试图将read_registry、write_registry的令牌权限授予无效。

结果总是一样的:令牌/Bot用户触发的任何管道都会碰到墙,因为没有指定凭据,因此没有通过身份验证来访问依赖代理。如果我从UI中重新启动与人类用户完全相同的任务,一切都会正常工作。

如何配置我的访问令牌,以便其相应的bot用户可以访问依赖代理?

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 14:11:46

问题很可能是使用错误的凭据。

根据文档,它不会使用项目访问令牌,或者只支持个人访问令牌和组部署令牌,并且支持用户名和密码。

现在,假设我们希望使用组部署令牌。对接机执行器通常使用$CI_DEPENDENCY_PROXY_USER & $CI_DEPENDENCY_PROXY_PASSWORD (来源)对$CI_DEPENDENCY_PROXY_SERVER进行身份验证,因为这些变量是自动设置的。

这些凭据与$CI_REGISTRY_USER & $CI_REGISTRY_PASSWORD (来源)相同--这两种情况下的密码都是作业标记。作业令牌具有与用户相同的权限,如上所述,组访问令牌和项目访问令牌不具有对依赖关系代理的访问权限。

根据部署令牌文档,您应该使用用户名(组部署令牌)&令牌对依赖代理进行身份验证。为了实现这一点,我认为唯一的选择是将deploy & token嵌入到CI/CD变量中。

我没有尝试过这样的情况,但我认为应该可行。

对于坞内对接器,您应该能够在CI/CD变量中设置DEPLOY_TOKEN_USERNAME & DEPLOY_TOKEN_TOKEN (使用组部署令牌中的值),然后使用以下内容登录:

代码语言:javascript
运行
复制
before_script:
  - echo $DEPLOY_TOKEN_TOKEN | docker login -u $DEPLOY_TOKEN_USERNAME --password-stdin $CI_DEPENDENCY_PROXY_SERVER
script:
  - docker pull $CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX/alpine
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71484761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档