2015-01-12 9 views
5

wir einen Artifactory Server haben, 220GB verwendet - mit dem libs-snapshots-local Repository nutzen 98% dieser Lagerung.Artifactory Löschen nicht eindeutig zuzuordnen Snapshots

Als wir uns die Konfiguration für das Repository anschauten, stellten wir fest, dass das Maven-Snapshot-Verhalten auf unique gesetzt war und dass der Wert für die maximalen eindeutigen Snapshots 0 war.

Wir änderten die Max Einzigartige Snapshots Wert 5.

Dies als wir noch zu funktionieren scheint auf dem Snapshot arbeiten, aber wenn wir doesn nicht mehr auf den Snapshot bereitstellen (hat eine Veröffentlichung gemacht worden ist) dann Lösche keine dieser Dateien.

Als Beispiel: wir folgend im Snapshots Repository haben:

com/company/some/app/1.23-SNAPSHOT/.. (50+ artifacts) 
com/company/some/app/1.24-SNAPSHOT/.. (5 artifacts) 

Artifactory das aktuelle SCHNAPPSCHUSS Verzeichnis hält (1.24-SNAPSHOT) bei maximal 5 Artefakte, aber die Anzahl der Artefakte im 1.23-SNAPSHOT Verzeichnis nimmt nie ab.

Es scheint, dass Artifactory die Bereitstellung eines Artefakts verwendet, um die Bereinigungsprüfung auszulösen. Wenn Sie also nicht mehr für dieses Artefakt bereitstellen, wird keine Bereinigung durchgeführt?

Wie erhalten wir Artifactory, um die überschüssigen Artefakte im Ordner 1.23-SNAPSHOT zu löschen?

+0

Es scheint, dass eine Funktion Anfrage genau für diese Funktionalität jetzt JFrog vorgestellt wurde: https://www.jfrog.com/jira/browse/RTFACT-12255 –

Antwort

2

Sie haben Recht, die Bereitstellung eines neuen Snapshots ist der Auslöser für das Löschen der alten. Da deine 1.23-Artefaktexplosion der Rest der vorherigen (Fehl-) Konfiguration ist, bist du von nun an gut.

Die einfachste Möglichkeit, die alten Snapshots zu löschen, besteht darin, einen anderen (selbst Dummy) Snapshot in 1.23 zu deployen. Es wird die Bereinigung auslösen.

Eine andere Idee könnte sein, einen anderen Snapshot-Repo zu erstellen und die letzten 5 Snapshots von 1.23 dorthin zu verschieben. Dann können Sie den 1.23-Ordner sicher löschen und aus dem temporären Repo zurück in den Ordner verschieben.

Alle diese sind gültige Entscheidungen für die Bereinigung einer oder mehrerer Versionen, aber sie werden nicht skalieren. Wenn Sie viele Versionen zu bereinigen haben, würde ich empfehlen, a simple execution user plugin zu schreiben.

Sie nur eines Versionsverzeichnisses und delete alles außer den wenigen, die Sie verlassen möchten.

+3

Gibt es eine andere Möglichkeit, damit umzugehen? Das Problem manifestiert sich in mehreren Artefakten und Versionen - In der Tat denken wir, dass die überwiegende Mehrheit unserer Snapshots Repo gelöscht werden muss. –

Verwandte Themen