2015-11-02 4 views
2

Я пытаюсь загрузить артефакты jar с использованием wget pass -A аргумент и подстановочный знак «* .jar», однако jenkins не загружает файл jar. Эта же команда работает с URL-адресом не-jenkins. Кто-нибудь получил эту работу с дженкинсами. Высоко оценивайте свои входы.Jenkins wget артефакт с использованием подстановочного знака

wget --no-check-certificate --auth-no-challenge -A "*.jar" -r -l 1 -nd "https://jenkins.xxxx.com/job/xxxx/6/artifact/target/" 
--2015-11-02 06:24:36-- https://jenkins.xxxx.com/job/xxxx/6/artifact/target/ 
Resolving jenkins.xxxx.com... 1.1.1.1 
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected. 
HTTP request sent, awaiting response... 302 Found 
Location: https://jenkins.xxxx.com/job/xxxx/6/artifact/target/ [following] 
--2015-11-02 06:24:37-- https://jenkins.xxxx.com/job/xxxx/6/artifact/target/ 
Reusing existing connection to jenkins.xxxx.com:443. 
HTTP request sent, awaiting response... 200 OK 
Length: unspecified [text/html] 
Saving to: `index.html' 
[ <=>                                    ] 12,420  --.-K/s in 0s 
2015-11-02 06:24:37 (592 MB/s) - `index.html' saved [12420] 

Loading robots.txt; please ignore errors. 
--2015-11-02 06:24:37-- https://jenkins.xxxx.com/robots.txt 
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected. 
HTTP request sent, awaiting response... 404 Not Found 
2015-11-02 06:24:37 ERROR 404: Not Found. 

Removing index.html since it should be rejected. 

FINISHED --2015-11-02 06:24:37-- 
Downloaded: 1 files, 12K in 0s (592 MB/s) 

ответ

1

Update: Перепосещение это, я понимаю, что сервер Jenkins на самом деле не может служить its robots.txt file:

Loading robots.txt; please ignore errors. 
--2015-11-02 06:24:37-- https://jenkins.xxxx.com/robots.txt 
Connecting to jenkins.xxxx.com|1.1.1.1|:443... connected. 
HTTP request sent, awaiting response... 404 Not Found 
2015-11-02 06:24:37 ERROR 404: Not Found. 

После этой ошибки 404, wget объясняет она не будет держать index.html он имеет Скачано:

Removing index.html since it should be rejected. 

Быстрый поиск в wget manual доходности по отвергая:

(...) акцепт/отклонять списки подбираются дважды против загруженных файлов: раз против имени файла части в URL, чтобы определить, является ли файл должны быть загружены в первую очередь; то после того, как оно было принято и успешно загружено , имя локального файла также проверено на списки accept/reject, чтобы увидеть, должно ли оно быть удалено . Обоснование заключалось в том, что поскольку файлы .htm и .html равны , которые всегда загружаются независимо от правил accept/reject, они должны быть удалены после загрузки и сканирования для ссылок, если они сделали . списки.

Это означает, что URL-адрес, который вы изначально были запрошены, был загружен и отсканирован для ссылок, но ни одна из ссылок не сопоставлена ​​*.jar, поэтому ни одна из них не была восстановлена. Затем изначально запрошенный index.html был удален, так как его имя не соответствует *.jar.

Похоже, на самом деле нет ссылок на артефакты .jar, которые вы хотите скачать прямо на этой странице. По иронии судьбы, это означает, что я в конечном итоге предлагаю то же самое, что и раньше, - попробуйте увеличить рекурсию подкаталога на один уровень с -l2 вместо -l1. Как я сказал в своем предыдущем ответе, Я попробовал это на локальной установке Jenkins, и мне действительно понадобилось -l2, чтобы загрузить артефакт (но точный уровень может зависеть от структуры проекта и структуры папок). Попробуйте:

wget --no-check-certificate --auth-no-challenge -A "*.jar" -r -l2 -nd "https://jenkins.xxxx.com/job/xxxx/6/artifact/target/" 
Смежные вопросы