Загрузка артефактов из 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*/
в эту папку.