Próbuję pobrać artefakt z projektu Jenkinsa za pomocą skryptu wsadowego wsadu. Powodem, że jest to więcej niż banalne, jest to, że mój artefakt jest plikiem zip, który zawiera numer kompilacji Jenkinsa w nazwie, dlatego nie znam dokładnej nazwy pliku.Pobieranie artefaktów z Jenkinsa za pomocą wget lub curl
Mój obecny plan ataku polega na użyciu polecenia wget wskazującego na:/lastSuccessfulBuild/artifact/ , aby wykonać jakieś pobieranie rekurencyjne/lustrzane.
Gdybym wykonaj następujące czynności:
wget -r -np -l 1 -A zip --auth-no-challenge --http-user=**** --http-password=**** http://*.*.*.*:8080/job/MyProject/lastSuccessfulBuild/artifact/
(* s są znaki Zmieniłem do delegowania do SO)
Nigdy uzyskać plik zip. Jeśli anuluję opcję -A zip, otrzymam plik index.html, więc myślę, że autoryzacja działa, chyba że jest to jakiś problem z buforowaniem sesji?
-a zip uzyskać w ramach odpowiedzi:
Usuwanie .. . + 8080/job/MyProject/lastSuccessfulBuild/artefact/index.html, ponieważ powinien zostać odrzucony.
Więc nie jestem pewien, czy może to usunięcie tego pliku, a więc nie po jego linki? ale robi-Zip, html też nie działa.
Próbowałem kilka opcji wget, a także curl, ale donikąd.
Nie wiem, czy mam złe opcje wget lub czy jest coś specjalnego w uwierzytelnianiu Jenkinsa.
Każda pomoc doceniona. Dzięki.
To całkiem ciekawy pomysł, którego nie wiedziałem, że możesz zrobić, dzięki. Ale nadal pozostawia mi ból głowy podwójnego spakowanego pliku, z którego nie znam nazwy. Nadal chciałbym wiedzieć, dlaczego polecenie wget nie działa. – Erik
Nie powinieneś potrzebować '-A zip', aby pobrać artefakty, ale musisz znać nazwę artefaktu. Jeśli nie znasz nazwy artefaktu, możesz "/ * zip * /" cały folder. Nie ma problemu z zamkiem błyskawicznym wewnątrz zamka. Po uzyskaniu go, wyodrębnij pierwszy zip do jakiegoś folderu, a tam masz: całą zawartość artefaktów. Możesz teraz używać symboli wieloznacznych systemu plików, aby uzyskać dostęp do reszty plików (znasz część nazwy pliku, prawda?) – Slav
Strona "endpoint /' punkt końcowy ** to ** a index.html, która pokazuje interfejs sieciowy do dostać się do faktycznego artefaktu (według dokładnej nazwy lub metody zip). – Slav