微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用户级别的Gitlab CI Secrets用于部署登录

如何解决用户级别的Gitlab CI Secrets用于部署登录

我们有一个包含多个开发人员的Gitlab项目,该仓库本身就是一个柯南项目。

在创建发布标签时,我想设置一个管道来创建柯南包,然后将其上传到工件。上载到Artifactory需要用户名和密码登录。这与许多其他需要用户+通过身份验证的部署作业相似。

我已经找到了一种解决方案,可以为项目(项目级别)定义秘密变量,并使用单个帐户将整个项目上载到工件。在安全方面,这是个问题,因为我们想知道谁上传了柯南软件包,即哪个用户

在Gitlab中是否可以在用户级别定义秘密? 也就是说,如果User1创建了代码并设置了自己的Artifactory Account User + Pass机密,则管道会成功推送conan程序包。 如果现在User2创建标签但未设置机密,则推送应失败。


以下Gitlab问题是对该问题的类似描述,但不包含任何解决方案: https://gitlab.com/gitlab-org/gitlab/-/issues/15815

也与之相关:gitlab credentials for specific user(但处理具有特定用户访问权限的共享机密)。

解决方法

CI 机密目前仅处于项目级别,但您或许可以使用预定义的 env 变量之一执行类似操作。有四个变量保存有关启动管道的 Gitlab 用户的信息(通过触发器、调度、推送等)。 $GITLAB_USER_EMAIL$GITLAB_USER_ID$GITLAB_USER_LOGIN$GITLAB_USER_NAME。然后,在您的项目秘密变量中,您可以存储每个用户的凭据,并在您的工作中根据 USER 变量获取正确的凭据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。