Ich bin sicher, wenn Sie nur über das Speichern von Binärdateien von " mvn deploy
" sprechen, werden beide gut funktionieren.
Wir verwenden Artifactory sehr ausgiebig bei allen Upgrades auf dem Weg. Viele Projekte, zahlreiche bereitgestellte Snapshots und externe Repos als Proxy. Kein einziges Problem. Es fällt mir schwer zu erklären, wie andere Leute Probleme mit der Datenbank, der Indizierung oder irgendetwas anderem haben. So etwas ist uns noch nie passiert. Artifactory ermöglicht es auch, Daten auf einer Festplatte zu speichern und nur eine Datenbank zum Speichern von Metadaten zu verwenden. Es ist recht flexibel ( siehe mehr hier ).
Was diese Anwendungen sehr unterscheidet, ist ihr Ansatz zur Integration mit anderen Build-Tools und -Technologien. Nexus und Sonatype sind für Maven und m2eclipse ziemlich gesperrt. Sie ignorieren alles andere und haben erst vor kurzem begonnen, an ihrer eigenen Hudson-Integration zu arbeiten (siehe ihr Maven 3-Webinar ).
BEARBEITEN: Dies gilt ab 2017 nicht mehr. Nexus bietet eine viel größere Unterstützung für andere Build-Tools. Ende der Bearbeitung
Artifactory bietet eine großartige Integration von Hudson, TeamCity und Bamboo sowie Gradle / Ivy- Unterstützung. Während Nexus Ihnen nichts bietet, wenn Sie die "Komfortzone" von Sonatype (Maven, m2eclipse) verlassen, umfasst Artifactory alle wichtigen Build-Tools und arbeitet mit ihnen zusammen.
Tatsächlich ist die Bereitstellung von Build-Artefakten von Hudson nach Abschluss des Jobs und nicht von " mvn deploy
" ein großer Unterschied: Das Artifactory Hudson-Plugin führt eine atomähnliche Bereitstellung aller Artefakte auf einmal durch , nur wenn ein Build-Job erfolgreich abgeschlossen wurde. " mvn deploy
" wird nach jedem Modul ausgeführt und kann einen Teilsatz von Artefakten bereitstellen, wenn ein Build-Job in der Mitte fehlschlägt. Die Bereitstellung von Maven nach Abschluss des Moduls und nicht von einem Build-Server nach Abschluss des Jobs ist wirklich eine schlechte Sache.
Wie Sie sehen, denkt Artifactory "außerhalb der Box", während Nexus "innerhalb der Box" denkt und sich nur um Maven- und Maven-Artefakte kümmert.
Etwas anderes, das Artifactory zugänglicher macht, ist die Cloud-basierte Artifactory Online-Lösung . Für etwa 80 US-Dollar pro Monat haben Sie eine eigene Artifactory-Instanz, für die Sie keinen Server reservieren müssen.
Artifactory hat eine einfache und unkomplizierte REST-API , weiß nicht, wie es für Nexus funktioniert.
Edit Nexus verfügt auch über eine REST-API , die Sie ebenfalls problemlos verwenden können.
Zusammenfassend denke ich, dass für die grundlegende Speicherung von Maven-Artefakten beide in Ordnung sind. Aber während Nexus aufhört, ausschließlich einen "Maven-Repository-Manager" zu haben, geht Artifactory immer weiter und ist ein allgemeiner "Binärspeicher" für Binärdateien jeglicher Art, von jedem Build-Tool und CI-Server.