如何使用curl 下载 gitlab CI/CD 工件?

Sto*_*row 8 git continuous-integration curl gitlab

我们的 gitlab CI/CD Web 界面允许我们在成功运行后下载“工件”(例如可执行文件、共享库),如下面的屏幕截图所示:

在此输入图像描述


问题:有没有办法从 shell 中下载该工件? (首选使用curl的解决方案)

Copy Link Location”右键菜单选项给了我类似的东西https://git.my_company.com/namespace/project/-/jobs/987134/artifacts/download,所以我尝试了以下操作:

$ curl -O -L https://git.my_company.com/namespace/project/-/jobs/987134/artifacts/download
Run Code Online (Sandbox Code Playgroud)

但这并没有下载正确的东西:它让我呕吐了 html,但我期待一个 .zip 文件。

如果我尝试从 Web UI 下载文件,文件名默认为artifacts.zip,所以我也尝试过:

$ curl -O -L https://git.my_company.com/namespace/project/-/jobs/987134/artifacts/download/artifacts.zip
Run Code Online (Sandbox Code Playgroud)

这确实创建了一个名为 的文件artifacts.zip,但它仍然不是预期的文件:它仍然是 html,尽管与第一次描述的尝试不同。

Bog*_*ota 1

对于公共存储库,

Settings > General > Permissions > Pipelines must be "Everyone with access".