使用 Deploy Token 下载 GitLab 通用包文件

Download GitLab Generic Package File using Deploy Token

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

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

我正在使用前面 link 中描述的以下请求。

GET https://gitlab.com/api/v4/projects/<project_B_id>/packages/generic/<package_name>/<package_version>/<package_file>

我试过了

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

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

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

我也一直在寻找这个答案。

文档 (https://docs.gitlab.com/ee/user/packages/generic_packages/index.html#authenticate-to-the-package-registry) 说

To authenticate to the Package Registry, you need either a personal access token or CI job token.

没有提到部署令牌。这些似乎仅限于 docker、npm 等

此外,您在项目 B 中拥有的工作令牌允许您发布您的工件。但是,您在项目A中的Job Token似乎没有下载它的权限。

我相信答案是您不能使用部署令牌,但我很乐意被证明是错误的。

该问题已在gitlab上提出。部署令牌暂时不起作用。目前在此处跟踪:

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

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