簡體   English   中英

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

[英]How can I download gitlab CI/CD artifacts with curl?

我們的 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

但這並沒有下載正確的東西:它讓我嘔吐了 html,但我期待一個 .zip 文件。

如果我嘗試從 web UI 下載文件,文件名默認為artifacts.zip ,所以我也嘗試了:

$ curl -O -L https://git.my_company.com/namespace/project/-/jobs/987134/artifacts/download/artifacts.zip

這確實創建了一個名為artifacts.zip的文件,但它仍然不是預期的文件:它仍然是 html,盡管與第一次描述的嘗試不同。

對於公共存儲庫,

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

您的答案在這里描述: https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#downloading-artifacts

下載整個工件存檔的 URL 的結構如下:

https://example.com/<namespace>/<project>/-/jobs/artifacts/<ref>/download?job=<job_name>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM