Wir haben gerade die Nexus-Installation auf die neueste Version (3.x) aktualisiert. Gibt es eine Möglichkeit, die neueste Version eines bestimmten Snapshot-Artefakts zu erhalten? Nexus 2 hatte eine nette API, die nicht mehr unterstützt wird.
Gleiche Frage (aber für die alte Version) wurde hier beantwortet: Sonatype Nexus REST API holt die neueste Build-Version
Irgendwelche Ideen werden sehr geschätzt.
Am besten, Daniel
Nexus 2 hatte eine nette API, die nicht mehr unterstützt wird.
Es klingt, als ob Sie sich auf diese beziehen:
%Vor%Wenn Sie nach der neuesten x.y.z-SNAPSHOT-Version suchen, in der x, y, z erraten werden - Nexus hatte diese Funktionalität nie (es funktionierte nur für Plugins).
Das ist einfach nicht wahr - siehe den folgenden Artikel, der deutlich zeigt, dass Sie LATEST-, RELEASE- oder SNAPSHOT-Basisversionen angeben können.
Es ist möglich, aber nicht in einem 1-Liner.
Ja - es sei denn, Sie haben ein Werkzeug wie artefact-resolver , das einen einzeiligen Befehl zum Abrufen eines Artefakt.
Wenn Sie nach x.y.z-SNAPSHOT
fragen, wird standardmäßig die neueste x.y.z-timestamp
Snapshot-Version heruntergeladen. Keine Notwendigkeit, etwas zusätzlich zu tun
Wenn Sie nach der neuesten Version von x.y.z-SNAPSHOT
suchen, in der die x
, y
, z
erraten werden - Nexus hatte nie diese Funktionalität (es funktionierte nur für Plugins). Und ich denke nicht, dass es einen guten Anwendungsfall dafür gibt. Wenn dies erforderlich ist, machen Sie wahrscheinlich etwas falsch. Sie sollten immer mit einer bestimmten Version arbeiten. Eigentlich kann ich mir selbst für die 1. Funktionalität keine guten Anwendungsfälle vorstellen.
Es ist möglich, aber nicht in einem 1-Liner. Sie müssen die Datei maven-metadata.xml für jedes Snapshot-Artefakt abrufen, das Sie suchen (beachten Sie, dass Projekte mit mehreren Modulen unterschiedliche Zeitstempel für jedes Modul einschließlich des übergeordneten Elements aufweisen).
Wir verwenden xlstproc , um die relevanten Variablen zu extrahieren, so dass wir immer noch ohne schwergewichtige Tools wie z. B. von der Befehlszeile aus starten können Maven oder Efeu, um die Auflösung zu tun.
Was für ein Witz re: Nexus 3 ohne REST API.
Ich habe einen Hack gefunden, der mein Problem lindert. Es stellt sich heraus, dass Ansible ein schönes maven_artifact -Modul besitzt, das irgendwie in der Lage ist, den neuesten Snapshot herauszufinden. Und Sie können Ansible lokal ausführen. So sieht es schließlich so aus:
%Vor%