Wie kann ich den URL-Zugriff auf die aktuelle Momentaufnahme der ein Artefakt im Nexus 2.x?
Möchte ich eine einfache URL, die immer wieder die neueste version eine snapshot-version von einem Artefakt. Von einfach, ich meine, dass die URL sich nicht ändert, oder den Benutzer auffordern, das Verzeichnis zu durchsuchen und überprüfen Zeitstempel.
- Ich hatte genau die gleiche Frage. Ich Schreibe Skripte, download Artefakte aus Nexus und das dynamische URLs für Schnappschüsse, wo störend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den core-Nexus "redirect" REST-API kann verwendet werden, um jede version eines Artefakts aus einem offiziellen repository:
Beispiel:
https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=log4j&a=log4j&v=LATEST
Den v parameter kann ein Wert wie 1.0-SNAPSHOT, in dem Fall Maven liefert die aktuellen Zeitstempel snapshot-gehalten im repository. Similiarily der spezielle Wert "NEUESTEN" sollten das gleiche tun, vorausgesetzt eine aktuellere version ist nicht vorhanden.
releases
dann begann2.1-SNAPSHOT
, dieresolve
undredirect
API ' s sind noch beide Rücksendung der 2.0 Artefakt mitv=LATEST
. wenn ichv=2.1-SAPSHOT
bekomme ich das erwartete Ergebnis. Mein params sindresolve?g=gid&a=artifactName&v=LATEST&r=snapshots&p=jar
wogid
undartifactName
sind die Referenzen.Wenn Sie auf der Suche für die neueste version eine snapshot -, Frage nur, für sagen, "1.0-SNAPSHOT" wird die Rückkehr der neuesten version der Artefakt-snapshot.
Wenn Sie auf der Suche nach "neueste version" jedoch, die "v=NEUESTE" syntax funktioniert, aber Bedenken Sie, dass dieses Schlüsselwort, können wieder die neueste version der Momentaufnahme, die Sie suchen, oder die Version, die gerade abgeschlossen oder die ANDERE Filiale des gleichen Artefakt, das eine version vor-noch "-SNAPSHOT".
Wenn Sie auf der Suche nach dem absoluten die Letzte dann ja, verwenden Sie die "v=LATEST". Wenn Sie auf der Suche für die neueste Version, Sie können auch Fragen Sie nach "v=RELEASE". Wenn Sie eine Gruppierung von repos, können Sie darauf verweisen sowohl der snapshot repos und release-repositories durch das hinzufügen der url sowas wie:
"...v=RELEASE&r=öffentliche"
Sollte Suche über alle Ihre "gruppiert" repos.
auf meinem nexus-Gerät alle Ergebnisse für :
http://nexushost.domain/nexus/content/repositories/snapshots/com/company/elasticsearch-river-mongodb/1.2.3-SNAPSHOT/
sind wie diese:
*-1.2.3-20131204.143026-1.zip
also kann ich nicht direkt auf ihn zugreifen, weil ich brauche, um mehr details zu bieten, die dynamisch sind.
Beispiel mit "...umleiten?r=central-proxy&g=log4j&a=log4j&v=NEUESTE" funktioniert, wenn ich im browser öffnen, aber nicht, Wann ich was zu installieren von einer linux Maschine verwenden:
/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
Also meine temporäre Lösung mit 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"
dann installiere die AKTUELLE version von lokale Datei.
Jedes repository hat eine eigene url (können Sie es in der Repository-browser). Wenn Sie es öffnen, können Sie durch die Gruppe und Artefakt-ids, um Ihre Artefakt. Das ist Ihre url, z.B. so: http://nexushost.domain/content/repositories/snapshots/com/example/group/artifact/1.2.3-SNAPSHOT/1.2.3-SNAPSHOT.jar