[英]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.