Sto tentando di scaricare un artefatto da un progetto Jenkins utilizzando uno script batch dos. Il motivo per cui questo è più che banale è che il mio artefatto è un file zip che include il numero di build di Jenkins nel suo nome, quindi non conosco il nome esatto del file.Download di artefatti da Jenkins con wget o arricciatura
Il mio piano di attacco corrente è utilizzare wget che punta a:/lastSuccessfulBuild/artefatto/ per eseguire una sorta di download ricorsivo/mirror.
Se faccio la seguente:
wget -r -np -l 1 -A zip --auth-no-challenge --http-user=**** --http-password=**** http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/
(* s sono caratteri che ho cambiato per la pubblicazione di SO)
ho mai ottenere un file zip. Se si omette l'opzione -A zip, ottengo l'index.html, quindi penso che l'autorizzazione funzioni, a meno che non si tratti di un problema di memorizzazione nella cache della sessione?
Con -A zip ottengo come parte della risposta:
Rimozione .. . + 8080/job/MyProject/lastSuccessfulBuild/artifact/index.html poiché dovrebbe essere rifiutato.
Quindi non sono sicuro se è possibile rimuovere quel file e quindi non seguire i suoi collegamenti? ma facendo -A zip, html non funziona neanche.
Ho provato diverse opzioni di wget e anche arricciavo ma non sono arrivato da nessuna parte.
Non so se ho le opzioni wget sbagliate o se c'è qualcosa di speciale nell'autenticazione Jenkins.
Qualsiasi aiuto apprezzato. Grazie.
Questa è un'idea piuttosto interessante, che non sapevo che potessi fare, grazie. Ma mi lascia ancora il mal di testa di un doppio file zippato, uno dei quali non conosco il nome. Sarei ancora interessato a sapere perché il comando wget non funziona. – Erik
Non è necessario "-A zip" per ottenere le risorse, tuttavia è necessario conoscere il nome della risorsa. Se non conosci il nome del manufatto, puoi '/ * zip * /' l'intera cartella. Non ci sono problemi con zip all'interno di un zip. Una volta ottenuto, estrai il primo zip in una cartella, e lì hai: tutto il contenuto degli artefatti. Ora puoi usare i jolly del filesystem per ottenere il resto dei tuoi file (conosci parte del nome del file, vero?) – Slav
L'endpoint '/ artifact/** ** è una pagina index.html che mostra l'interfaccia web a ottenere il vero artefatto (con il nome esatto, o il metodo zip) – Slav