【问题标题】:How can I download a maven package from GitLab with curl or wget?如何使用 curl 或 wget 从 GitLab 下载 maven 包?
【发布时间】:2021-11-30 03:09:05
【问题描述】:

我的 Gitlab 包注册表中有一个 maven 包 (dummy),我想使用 curlwget 命令下载它。

按照this我试过了:

curl --user "username:DEPLOY_TOKEN" \
     "https://gitlab.com/api/v4/projects/666/packages/maven/dummy/0.0.1-SNAPSHOT/dummy-0.0.1-SNAPSHOT.jar"

但我有:

{"message":"404 Project Not Found"}

项目ID正确。

如何下​​载maven包?

【问题讨论】:

  • 我不了解 gitlab,但在 Nexus 或 Artifactory 等通常的 Maven 存储库中,SNAPSHOT 版本具有时间戳名称,如 dummy-0.0.1-<somenumber>-1.jar

标签: maven gitlab


【解决方案1】:

要下载任何包,包括 maven 包,您需要使用Packages API

按照这些文档,您需要使用:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/packages/:package_id"

假设描述中的666是项目ID,那么它是:

curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.com/api/v4/projects/666/packages/:package_id"

但您仍然需要找出包 ID。

如果不知道包id,可以先使用packages API列出项目中可用的包。

您使用的端点看起来像是来自Maven API documentation page,其中明确指出它不适合手动使用,因此不是推荐的方法。

如果您仍然需要使用该端点,(根据页面顶部的注释)您需要关注package registry authentication documentation

这意味着如果您想使用部署令牌,您需要确保您的部署令牌具有read_package_registrywrite_package_registry,或两者兼有。

您的 curl 命令将如下所示:

curl --header "Deploy-Token: <token>" "https://gitlab.com/api/v4/projects/666/packages/maven/dummy/0.0.1-SNAPSHOT/dummy-0.0.1-SNAPSHOT.jar"

【讨论】:

    猜你喜欢
    • 2011-05-04
    • 1970-01-01
    • 2015-10-04
    • 2017-04-21
    • 2015-02-20
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多