使用部署令牌下载 GitLab 通用包文件

Kep*_*boy 5 continuous-integration gitlab-ci

我在 GitLab 中有一个带有 CI 管道的项目 (A)。该管道依赖于另一个项目 (B) 中的包。在项目 A 的构建过程中,我想从项目 B 的包注册表下载包。这些包作为(zip 文件)通用包上传。这些项目都是私有的,所以我需要某种访问令牌来进行身份验证。

我正在尝试使用部署令牌,因为它们似乎提供了所需的 read_package_registry 访问范围。但是,我找不到任何描述在下载通用包文件时如何使用部署令牌进行身份验证的文档。

我正在使用以下请求,如上一个链接中所述。

GET https://gitlab.com/api/v4/projects/<project_B_id>/packages/generic/<package_name>/<package_version>/<package_file>
Run Code Online (Sandbox Code Playgroud)

我努力了

  • 将部署令牌用户名和密码添加到 URL、基本/摘要身份验证
  • 向请求添加标头PRIVATE-TOKEN: [deploy-token]
  • 向请求添加标头DEPLOY-TOKEN: [deploy-token]
  • 向请求添加标头Authorization: Bearer [deploy-token]
  • 我也尝试了上面的每个标题,但作为[deploy-token-username][deploy-token]值

我找不到说明我无法使用部署令牌的文档。

有谁有如何做到这一点的工作示例,或者有人知道这是否可能?

我可以切换到私有访问令牌,但我更喜欢使用正确的工具来完成这项工作,这似乎是部署令牌。

Cur*_*ire 3

该问题已在 gitlab 上提出。部署令牌目前不起作用。目前在这里追踪:

https://gitlab.com/gitlab-org/gitlab/-/issues/284397

解决方法是使用个人访问令牌。