continuous-integration - 使用 Deploy Token 下载 GitLab 通用包文件

标签 continuous-integration gitlab-ci

我在 GitLab 中有一个带有 CI 管道的项目 (A)。此管道依赖于来自另一个项目 (B) 的包。在项目 A 的构建过程中,我想从项目 B 的包注册表下载包。包上传为(zip 文件)generic packages .这些项目都是私有(private)的,所以我需要某种访问 token 来进行身份验证。
我正在尝试使用 Deploy Tokens因为这些似乎提供了所需的 read_package_registry 访问范围。但是,我找不到任何描述在下载通用包文件时如何使用部署 token 进行身份验证的文档。
我正在使用上一个链接中描述的以下请求。

GET https://gitlab.com/api/v4/projects/<project_B_id>/packages/generic/<package_name>/<package_version>/<package_file>
我试过了
  • 将部署 token 用户名和密码添加到 URL,基本/摘要身份验证
  • 向请求添加 header PRIVATE-TOKEN: [deploy-token]
  • 向请求添加 header DEPLOY-TOKEN: [deploy-token]
  • 向请求添加 header Authorization: Bearer [deploy-token]
  • 我也尝试过上述每个标题,但使用 [deploy-token-username][deploy-token]作为值

  • 我找不到说明我不能使用部署 token 的文档。
    有没有人有如何做到这一点的工作示例,或者有没有人知道这是否/不可能?
    我可以切换到私有(private)访问 token ,但我更喜欢使用正确的工具来完成这项工作,这似乎是部署 token 。

    最佳答案

    该问题已在 gitlab 上提出。部署 token 暂时不起作用。目前在此处跟踪:
    https://gitlab.com/gitlab-org/gitlab/-/issues/284397
    解决方法是使用个人访问 token 。

    关于continuous-integration - 使用 Deploy Token 下载 GitLab 通用包文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64601658/

    相关文章:

    kubernetes - 带有 minio-service 的 kubernetes 上的 gitlab-ci 缓存不再工作

    gitlab - 作业脚本在 gitlab ci 中在哪里运行?

    continuous-integration - 无法使用 VIX api 启动 VM,使用 msiexec 安装软件,然后创建快照

    jenkins - 在 CI 环境中执行 Bower,例如 Jenkins

    node.js - 通过 UI 设置 Gitlab CI/CD 环境变量

    spring-boot - 使用spring-boot :build-image in Gitlab-ci. yaml Pipeline创建docker镜像

    amazon-web-services - AWS 中 Jenkins 的替代品

    windows - 如何将 Subversion 存储库发布到本地 IIS?

    unit-testing - Scrutinizer 表示 Travis 通知了 "tests failed",但测试确实通过了

    google-app-engine - 如何在部署阶段在 gitlab ci 中添加 .env 文件?