Jak zapewnić dostęp URL do najnowszej migawki artefaktu w Nexus?
Chciałbym podać prosty adres URL, który zawsze zwróci najnowszą wersję migawki artefaktu. Mówiąc prościej, mam na myśli, że adres URL nie zmienia się lub wymaga od użytkownika przeglądania katalogu i sprawdzania znaczników czasu.
4 answers
Zwróć uwagę, że ta odpowiedź dotyczy Nexusa 2.X
Core Nexus" redirect " REST API może być użyte do pobrania dowolnej wersji artefaktu z nominowanego repozytorium:
Na przykład:
Parametr v może być wartością taką jak 1.0-SNAPSHOT, w którym to przypadku Maven zwróci najnowszą migawkę ze znacznikiem czasu przechowywany w repozytorium. Podobnie wartość specjalna "LATEST" powinna zrobić to samo, pod warunkiem, że nowsza wydana wersja nie jest obecna.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-10 08:56:04
Jeśli szukasz najnowszej wersji migawki, wystarczy poprosić o powiedzmy, "1.0-SNAPSHOT" zwróci najnowszą wersję migawki tego artefaktu.
Jeśli jednak szukasz "najnowszej wersji", składnia "v=LATEST "będzie działać, ale pamiętaj, że to słowo kluczowe może zwrócić najnowszą wersję tego migawki, której szukasz, lub wydanie, które właśnie zostało ukończone, lub inną gałąź tego samego artefaktu, która jest wersją przed i nadal w"- SNAPSHOT".
Jeśli szukasz absolutnej najnowszej, to tak, użyj "V = LATEST". Jeśli szukasz najnowszej wersji, możesz również poprosić o "v = RELEASE". Jeśli masz grupę repo, możesz odwoływać się zarówno do repo migawek, jak i repozytoriów release, dodając do adresu url coś w stylu:
"...v=RELEASE&r=public "
To powinno przeszukać wszystkie" zgrupowane " transakcje repo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-11 02:41:41
Na mojej maszynie nexus wszystkie wyniki dla:
Są takie: *-1.2.3-20131204.143026-1.zip
Więc nie mogę uzyskać dostępu bezpośrednio, ponieważ muszę podać więcej szczegółów, które są dynamiczne.
Przykład z "...przekierowanie?r = central-proxy&g=log4j&a=log4j&V=LATEST " działa jak otwieram w przeglądarce ale nie kiedy to co zainstalować z jakiegoś używanie komputera z Linuksem:
/usr/share/elasticsearch/bin/plugin --url "http://localhost:8081/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip" --install river-mongodb
Więc moim tymczasowym rozwiązaniem jest użycie wget:
wget -O /tmp/elasticsearch-river-mongodb.zip "http://nexushost.domain/nexus/service/local/artifact/maven/redirect?r=snapshots&g=com.comapny.application&a=elasticsearch-river-mongodb&v=1.2.3-SNAPSHOT&p=zip"
Następnie zainstaluj najnowszą wersję z pliku lokalnego.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-05 15:24:21
Każde repozytorium ma swój własny adres url (można go zobaczyć w przeglądarce repozytorium). Jeśli go otworzysz, możesz przeglądać identyfikatory grup i artefaktów do swojego artefaktu. To twój adres url, na przykład tak: http://nexushost.domena / zawartość / repozytoria / migawki / com / przykład/grupa / artifact/1.2.3-migawka / 1.2.3-migawka.jar
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-14 18:06:39