Загрузка артефактов из Jenkins с помощью wget или curl

Я пытаюсь загрузить артефакт из проекта Дженкинса с помощью пакетного сценария DOS. Причина, по которой это более чем тривиально, заключается в том, что мой артефакт-это ZIP-файл, который включает номер сборки Дженкинса в своем имени, поэтому я не знаю точное имя файла.

мой текущий план атаки-использовать wget, указывающий на:/lastSuccessfulBuild / artifact/ чтобы сделать какую-то рекурсивную/зеркальную загрузку.

Если я сделаю следующее:

wget -r -np -l 1 -A zip --auth-no-challenge --http-user=**** --http-password=****  http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/

(*s являются символами Я изменился для публикации на SO)

Я никогда не получаю ZIP-файл. Если я опущу параметр-a zip, я получу индекс.html, поэтому я думаю, что авторизация работает, если это не проблема кэширования сеанса?

С -A zip Я получаю как часть ответа:

удаление ...+8080 / job/MyProject/lastSuccessfulBuild/артефакт / индекс.html, так как он должен быть отклонен.

поэтому я не уверен, может быть он удаляет этот файл и поэтому не следует по его ссылкам? Но делать -A zip,html не работает.

Я пробовал несколько вариантов wget, а также завиток, но я ничего не получаю.

Я не знаю, есть ли у меня неправильные параметры wget или есть что-то особенное в аутентификации Дженкинса.

1 ответов


вы можете добавить /*zip*/desired_archive_name.zip в любую папку расположения артефактов.

если ваш ZIP-файл является единственным артефактом, который архивирует задание, вы можете использовать:

http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/*zip*/myfile.zip

здесь myfile.zip это просто имя, которое вы назначаете загружаемому архиву, может быть чем угодно.

если у вас есть несколько артефактов в архиве, вы можете либо получить ZIP-файл всех из них, и иметь дело с отдельными при извлечении. Или поместите артефакт в виде отдельную папку, и примените /*zip*/ в эту папку.