gitlab ci访问私人代码段

时间:2017-06-19 23:44:32

标签: gitlab gitlab-ci

我有一个片段,我希望在我的gitlab ci中使用多个项目。

before_script:
 - curl --header "PRIVATE-TOKEN: xxx" https://gitlab.example.com/api/v4/snippets/1
 - bash my_script.sh

我尝试使用$CI_JOB_TOKEN生成401.有没有办法在不创建用户令牌的情况下获得访问权限?

1 个答案:

答案 0 :(得分:5)

最简单的答案是不可以。
CI_JOB_TOKEN变量,用于通过GitLab容器注册表进行身份验证并下载从属存储库[1]。
您可以创建具有三个可见性级别[2],私有内部公开的个人和项目摘要。

私有代码段仅对代码段创建者可见,因此您需要一个个人访问令牌(具有 api 范围!!!!!!!),不建议用于公共/共享项目中的CI作业。

建议:

  • 创建一个内部代码段
  • 为CI作业创建一个用户,该用户具有对项目的只读访问权限(例如ci-bot)。
  • 使用 ci-bot 的访问令牌执行CI作业。

[1] https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
[2] https://docs.gitlab.com/ee/api/snippets.html