Как я могу загрузить артефакты Gitlab CI / CD с помощью curl? - PullRequest
1 голос
/ 08 мая 2020

Наш веб-интерфейс Gitlab CI / CD позволяет нам загружать «артефакты» (например, исполняемые файлы, общие библиотеки) после успешного запуска, как показано на скриншоте ниже:

enter image description here


Вопрос: есть ли способ загрузить артефакт из оболочки? (предпочтительнее решение с использованием 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.

Если я попытаюсь загрузить файл из веб-интерфейса, имя файла по умолчанию будет artifacts.zip, поэтому я также попробовал:

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

То есть создайте файл с именем artifacts.zip, но это все еще не тот файл, который ожидается: он все еще html, хотя и отличается от первой описанной попытки.

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Ваш ответ описан здесь: https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#downloading -артефакты

Структура URL-адреса для загрузки всего архива артефактов следующая:

https://example.com/<namespace>/<project>/-/jobs/artifacts/<ref>/download?job=<job_name>
0 голосов
/ 08 мая 2020

Для репозитория publi c, от

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

...