Frage

Wir verwenden Maven für einen großen Build-Prozess (> 100 Module).Wir haben unsere externen Abhängigkeiten in der Quellcodeverwaltung gespeichert und diese verwendet, um ein lokales Repo zu aktualisieren.

Wir sind jedoch bereit, auf ein lokales Repo umzusteigen, das zentral zwischenspeichern kann, sodass wir nicht alle Drittanbieter proaktiv herunterladen müssen (aber wir können immer noch ein lokales Repo haben, aus dem wir ziehen können).Darüber hinaus möchten wir unsere internen Build-Artefakte aus einem nächtlichen Build veröffentlichen, damit Entwickler die Welt nicht selbst erstellen müssen.

Wir denken über Nexus und Artifactory nach.Was sind die Gründe dafür, das eine dem anderen vorzuziehen?Gibt es andere, die wir in Betracht ziehen sollten?

War es hilfreich?

Lösung

Ich weiß nicht, über Artifactory aber hier sind meine Gründe für die Verwendung von Nexus:

  • Tote einfach zu installieren (und seit 1.2, tot einfaches Upgrade, auch)
  • Sehr gute Web-UI
  • Einfach zu warten, so gut wie kein administrativer Aufwand
  • Sie mit RSS-Feeds bietet der kürzlich installierten, gebrochene Artefakte und Fehler
  • Es kann mehrere Repositories, so dass Sie mehrere Quellen spiegeln können, müssen aber nur ein oder zwei Einträge in der settings.xml
  • von Maven Bereitstellen arbeitet aus der Box (keine Notwendigkeit für WebDAV-Hacks, etc).
  • es ist kostenlos
  • Sie können Zugriffspfade umleiten (das heißt einige gebrochene pom.xml erfordert „a.b.c“ von „xxx“). Anstatt das POM von Patchen, können Sie den Fehler im Nexus beheben und die Anforderung an den Ort umleiten, wo das Artefakt wirklich ist.

Andere Tipps

Ich bin sicher, dass, wenn Sie nur über das Speichern von Binärdateien aus „mvn deploy“ sprechen beide gut tun werden.

Wir verwenden Artifactory sehr ausführlich mit allen Upgrades auf dem Weg. Viele Projekte, zahlreiche Schnappschüsse eingesetzt und externe repos proxied. Nicht ein einziges Problem. Ich finde es schwer zu erklären, wie andere Menschen Probleme mit ihrer DB, Indexierung oder irgendetwas anderes zu erleben. Nichts dergleichen uns je passiert ist. Auch Artifactory Daten speichern kann auf einer Festplatte und nur eine DB zum Speichern von Metadaten verwenden, ist es sehr flexibel ist ( mehr hier sehen ).

Was macht diese Anwendungen sehr unterschiedlich ist ihre Annäherung an die Integration mit anderen Build-Tools und Technologien. Nexus und Sonatype sind so ziemlich auf Maven und m2eclipse gesperrt. Sie ignorieren alles andere und erst seit kurzem auf ihre eigenen proprietären Hudson Integration zu arbeiten (siehe ihre Maven 3 Webinar ). EDIT: Das ist nicht mehr wahr als 2017 Nexus gibt eine viel größere Unterstützung für andere Build-Tools strong <> Ende der Bearbeiten

Artifactory bietet eine ehrfürchtige Hudson, Teamcity und Bambus Integration und Gradle / Ivy Unterstützung. So, während Nexus gibt Ihnen nichts, wenn Sie aus Sonatype „Komfortzone“ (Maven, m2eclipse) Schritt umfasst Artifactory und arbeitet mit allen wichtigen Build-Tool.

In der Tat, in der Lage zu sein zu implementieren Artefakte aus Hudson bauen, wenn der Auftrag abgeschlossen ist, und nicht durch „mvn deploy“ ist ein großer Unterschied: Artifactory Hudson Plugin ein quasi-atomarer deploy aller Artefakte macht auf einmal , nur, wenn ein Build-Job erfolgreich beendet. „mvn deploy“ läuft nach jedem Modul und kann einen Teilsatz von Artefakte bereitstellen, wenn ein Build-Job in der Mitte ausfällt. Bereitstellen von Maven auf Modulabschluss und nicht von einem Build-Server auf Auftragsabschluss ist wirklich eine schlechte Sache zu tun.

Wie Sie sehen, Artifactory denkt „außerhalb der Box“, während Nexus „in der Box“ denkt und kümmert sich nur um Maven und Maven Artefakte.

Etwas anderes, dass Artifactory mehr zugänglich ist ihre Cloud-basierte Artifactory Online-Lösung macht. Für etwa $ 80 pro Monat können Sie Ihre eigene Artifactory Instanz haben, keine Notwendigkeit, einen beliebigen Server für sie zu widmen.

Artifactory hat einen einfach und unkompliziert REST API , weiß nicht, wie es für Nexus arbeitet. Bearbeiten Nexus hat auch eine REST API , dass man leicht auch verwenden kann.

Um es zusammenzufassen, für grundlegende Speicherung von Maven Artefakte Ich denke, beide sind in Ordnung. Aber während Nexus dort unbedingt ein „Maven-Repository-Manager“ zu sein aufhört, Artifactory geht weiter und weiter, ein allgemeine „Binaries Speicher“ für Binärdateien jeder Art, von jedem Build-Tool und CI-Server zu sein.

Artifactory unterstützt beide Dateisystem und Datenbank-Speicher-Backends. Die Speicherung erfolgt Prüfsumme basiert und identische Binärdateien werden nur einmal gespeichert, egal, wie oft sie in den Repo erscheinen, die Artifactory eine effizientere Speicherung weise macht. Verschieben und Kopieren ist auch sehr billig, weil diese Architektur (in Nexus gibt es keinen REST für verschieben / kopieren - Sie Sachen auf dem Dateisystem zu bewegen, dann Korrekturmaßnahmen auf dem Repo laufen, um es Inhalt zu informieren, geändert hat).

Ein weiteres wichtiges Unterscheidungsmerkmal ist Artifactory einzigartige Integration mit Hudson und Teamcity hat Informationen über entfalteten Artefakte, aufgelöste Abhängigkeiten und Umgebungsdaten, die mit Build-Läufen für die Erfassung, die Rückverfolgbarkeit voll Build bietet.

Artifactory speichert die Artefakte in einer Datenbank, was bedeutet, dass, wenn etwas schief geht, werden alle Artefakte verschwunden sind. Nexus verwendet eine flache Datei für Ihre wertvollen Artefakte so dass Sie nicht über sie kümmern alle verloren.

Wenn Sie die „Pro“-Funktionen von einem von beiden benötigen (z. B.Staging-Repos, Artefakt-Promotion, NuGet), dann müssen Sie die verschiedenen Preismodelle berücksichtigen, die auf ihren Websites angezeigt werden.

In Summe:

  • Artifactory Pro
    • Sie bezahlen pro Server
    • Sie können für längere Servicestunden mehr bezahlen
  • Nexus Pro
    • Sie bezahlen je Platz, d.h.Wie viele Entwickler laden Artefakte herunter?
    • Der Support-Service ist nur Montag bis Freitag von 08:00 bis 20:00 Uhr ET verfügbar, unabhängig von Ihrem Preis

Egal wie viele Benutzer Sie haben, Nexus Pro bietet einen Support-Service, der im Großen und Ganzen dem „Silver Value Pack“ von Artifactory für 7.450 $/Jahr entspricht.

Für 7.450 $/Jahr erhalten Sie etwa 67 Nexus Pro-Sitze (1–50 für 108 $, der Rest für 120 $).

Allein aus Preis- und Supportgründen ist Nexus Pro sinnvoll, bis Sie 67 Benutzer haben. Ab diesem Zeitpunkt ist Artifactory die günstigere Option.

Wenn Sie den gesamten Support intern erledigen;Dieser magische Punkt liegt jedoch bei etwa 23 Benutzern (das einfachste Supportangebot von Artifactory beträgt 2.750 $/Jahr).

Ich habe einige der Forschung recenly über Artifactory 2 und Nexus 1.3. Ich werde Liste hier die wichtigsten Unterschiede, die ich gefunden:

  • Artifactory speichert Metadaten und optional Dateien in DB, Nexus schreibt direkt auf Dateisystem. Es gibt Profis. und Nachteile. für jeden Ansatz. DB Transaktionen unterstützt, während in FS gespeicherten Dateien kann direkt zugegriffen werden.
  • Artifactory hat höhere Systemanforderungen speziell für Speicherplatz.
  • Artifactory hat LDAP-Unterstützung, während Nexus es nur in kostenpflichtige Version hat. Auf der anderen Seite frei LDAP-Plugin für Nexus ist auf Google Code zur Verfügung.

Die umfassendste Vergleich: http://binary-repositories-comparison.github.io/

Sie sollten verwenden Artifactory Die neueste Version war ein echter Sprung Sie können Backup inkrementell Ihre Repositories, was bedeutet, können Sie alle Ihre Artefakte gespeichert haben und pflegen Sein hat eine einfache Web-UI verwenden und ist wirklich einfach einzurichten ich habe es sehr genossen Besuche die neue Version 2.0

Aus der Sicht der Lernenden bemerke ich einige spezifische Unterschiede zwischen den beiden.

  1. Die Bereitstellung von Sonatype .war wird derzeit auf dem Jboss-Anwendungsserver nicht unterstützt, obwohl sie unter Tomcat ausgeführt wird.
  2. Sonatype bietet mir derzeit kein Amazon Machine Image (AMI) an, das ich schnell zur Hand haben und testen könnte.
  3. Ein Artifactory-AMI wird von Bitnami bereitgestellt und benötigt nur wenige Minuten zum Hochfahren und ein paar weitere Minuten zum Konfigurieren, möglicherweise mehrere Dutzend Minuten, je nachdem, was Sie erreichen möchten.
  4. Artifactory bietet eine SaaS-Version von Artifactory in der Cloud an, sodass Sie sich auf die Erledigung Ihrer Aufgaben statt auf die Infrastruktur konzentrieren können.
  5. Ich habe keine Erfahrung mit Nexus, aber ich fand Artifactory zumindest anfangs sehr intuitiv und einfach zu konfigurieren.
  6. Hinzugefügt – Ich stelle fest, dass das Artifactory-Benutzerhandbuch, das für einen erfahrenen Profi vielleicht in Ordnung ist, für einige ausführliche Erklärungen etwas dürftig ist.Beispielsweise entpackt man zunächst ein Repository und fügt es dann hinzu, beispielsweise das Jboss EAP Enterprise Repo von RedHat.Alles geht gut, aber als ich dann versuchte, die importierten Artefakte anzuzeigen, meldete Artifactory keine Artefakte?Keine Fehler oder Warnungen, daher suche ich jetzt nach einer Erklärung.Ist das normal oder nicht normal?Eine einfache Erklärung in der Dokumentation kann schnell den richtigen Weg weisen.Da ich ein guter Mitwirkender bin, füge ich diese Kommentare zum Nutzen anderer Starter zum Projekt hinzu.

Alle Politik / Religion beiseite, Lizenzierung macht einen Unterschied für einige Organisationen.

Nexus ist GPL jetzt AGPLv3 und jetzt Eclipse Public License (EPL) .

Artifactory ist Apache Lizenz LGPLv3 ab Version lizenziert 2.1 des Produkts.

Sie können auch Archiva , nur zum Vergleich willen betrachten. Es ist Apache 2.0 lizenziert.

Ich sehe, dass Nexus Nutzung wächst, während Artifcatory Nutzung generaly Wohnung aufhält.

eingeben Bild Beschreibung hier

Das Bild ist von hier genommen http: / /blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/

Es gibt auch Matrix-Vergleich http: // docs .codehaus.org / Anzeige / MAVENUSER / Maven + Repository +-Manager + Funktion + Matrix

Sowohl Artifactory und Nexus haben mehr oder weniger ähnliche Funktion gesetzt, aber Artifactory LDAP-Unterstützung macht es attraktiver über Nexus. Obwohl Nexus hat auch LDAP-Unterstützung, aber in bezahlter Version: - (

Hmmm ... meine Erfahrung mit artifactory ist schrecklich ... aber ich bin ein relativer Neuling es so nimmt mit einem Körnchen Salz. Meine Gesamt Beschwerde ist, dass JAR-Dateien vor kurzem sofort indiziert scheinen nicht Artifactory hochgeladen - wie in stundenlang - und es scheint nicht ein guter Weg, um es zu erzwingen. Ich habe verschiedene Dinge ausprobiert, die als erschienen, wenn sie gearbeitet haben sollte, aber nicht. Ich habe mit m2eclipse arbeiten, Hinzufügen von Abhängigkeiten zu einem Projekt, das ich von Ameise bin zu konvertieren. Wenn ich versuche, ein Glas hinzuzufügen, die ich zu artifactory gerade hinzugefügt habe, erwarte ich, dass es als eine Wahl in der Auswahl zeigen, aber es funktioniert nicht.

ein Mitarbeiter sagte mir, dass sie Nexus installiert hatte und so weit sie mögen es ... aber ich kann es noch nicht bürgen. Ich bin über das auf einer Linux-Box zu installieren, sobald sie mich finden können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top