Je suis sûr que si vous ne parlez que de stocker des binaires à partir de " mvn deploy
", les deux fonctionneront très bien.
Nous utilisons Artifactory très largement avec toutes les mises à niveau en cours de route. Beaucoup de projets, de nombreux snapshots déployés et des dépôts externes par proxy. Pas un seul problème. J'ai du mal à expliquer comment d'autres personnes rencontrent des problèmes avec sa base de données, son indexation ou quoi que ce soit d'autre. Rien de tel ne nous est jamais arrivé. De plus, Artifactory permet de stocker des données sur un disque et d'utiliser uniquement une base de données pour stocker des métadonnées, c'est assez flexible ( voir plus ici ).
Ce qui rend ces applications très différentes, c'est leur approche d'intégration avec d'autres outils et technologies de construction. Nexus et Sonatype sont à peu près verrouillés sur Maven et m2eclipse. Ils ignorent tout le reste et n'ont commencé que récemment à travailler sur leur propre intégration propriétaire Hudson (voir leur webinaire Maven 3 ).
EDIT: Ce n'est plus vrai à partir de 2017 Nexus offre un support beaucoup plus large pour les autres outils de construction Fin de l'édition
Artifactory fournit une intégration impressionnante de Hudson, TeamCity et Bamboo , ainsi que le support Gradle / Ivy . Ainsi, alors que Nexus ne vous donne rien une fois que vous sortez de la «zone de confort» de Sonatype (Maven, m2eclipse), Artifactory embrasse et collabore avec tous les principaux outils de construction.
En fait, être capable de déployer des artefacts de construction à partir d'Hudson, lorsque le travail est terminé, et non par " mvn deploy
" est une énorme différence: le plugin Artifactory Hudson effectue un déploiement de type atomique de tous les artefacts à la fois , uniquement lorsqu'un travail de construction s'est terminé avec succès. " mvn deploy
" s'exécute après chaque module et peut déployer un ensemble partiel d'artefacts si une tâche de construction échoue au milieu. Déployer à partir de Maven à la fin du module et non à partir d'un serveur de build à la fin du travail est vraiment une mauvaise chose à faire.
Comme vous le voyez, Artifactory pense "en dehors de la boîte" tandis que Nexus pense "à l'intérieur de la boîte" et ne se soucie que des artefacts Maven et Maven.
Une autre chose qui rend Artifactory plus accessible est leur solution Artifactory Online basée sur le cloud . Pour environ 80 $ par mois, vous avez votre propre instance Artifactory, pas besoin de lui dédier un serveur.
Artifactory a une API REST simple et directe , je ne sais pas comment cela fonctionne pour Nexus.
Edit Nexus dispose également d'une API REST que vous pouvez également utiliser facilement.
Pour résumer, pour le stockage de base des artefacts Maven, je pense que les deux vont bien. Mais alors que Nexus cesse d'être strictement un "gestionnaire de référentiels Maven", Artifactory continue encore et encore, étant un "stockage binaire" général pour les binaires de tout type, de tout outil de construction et serveur CI.