Question

Nous utilisons Maven pour un grand processus de construction (> 100 modules). Nous avons stockons nos dépendances externes dans le contrôle source, et à l'aide que pour mettre à jour un repo local.

Cependant, nous sommes prêts à passer à une prise en pension locale qui peut mettre en cache centrale afin que nous n'avons pas télécharger de manière proactive tous les partis 3e (mais nous pouvons encore avoir un repo local pour tirer de). En outre, nous voulons publier nos artefacts de construction internes à partir d'une compilation nocturne afin que les développeurs ne doivent pas construire le monde.

Nous envisageons Nexus et Artifactory. Quelles sont les raisons de préférer un sur l'autre? Y at-il d'autres que nous devrions envisager?

Était-ce utile?

La solution

Je ne sais pas Artifactory mais voici mes raisons d'utiliser Nexus:

  • mort simple d'installation (et depuis la version 1.2, mise à niveau mort simple, aussi)
  • Très bonne interface web
  • Facile à entretenir, presque pas de frais généraux d'administration
  • Fournit des flux RSS, des artefacts de cassés et des erreurs récemment installées
  • Il est possible de regrouper plusieurs référentiels afin que vous pouvez mettre en miroir plusieurs sources mais besoin que d'une ou deux entrées dans votre settings.xml
  • Déploiement de Maven fonctionne hors de la boîte (pas besoin de hacks WebDAV, etc.).
  • il est gratuit
  • Vous pouvez rediriger les chemins d'accès (à savoir une pom.xml cassée exige « a.b.c » de « xxx »). Au lieu de patcher le POM, vous pouvez corriger le bogue dans Nexus et rediriger la requête vers l'endroit où l'artefact est vraiment.

Autres conseils

Je suis sûr que si vous ne parlez que sur le stockage des binaires de « mvn deploy » à la fois fera l'affaire.

Nous utilisons Artifactory très largement avec toutes les améliorations le long du chemin. Beaucoup de projets, de nombreux clichés déployés et prises en pension externes proxy. Pas un seul problème. Je trouve qu'il est difficile d'expliquer comment d'autres personnes éprouvent des problèmes avec sa base de données, l'indexation ou toute autre chose. Rien de tel que jamais nous est arrivé. En outre, Artifactory permet de stocker des données sur un disque et utiliser uniquement un DB pour le stockage des métadonnées, il est tout à fait flexible ( voir plus ).

Ce qui rend ces applications très est différent de leur approche vers l'intégration avec d'autres outils de construction et des technologies. Nexus et Sonatype sont à peu près sur Maven et verrouillés m2eclipse. Ils ignorent toute autre chose et que récemment commencé à travailler sur leur propre intégration exclusive d'Hudson (voir leur Maven 3 webinaire ). EDIT: Cela ne vaut pas plus que 2017 Nexus donne un support beaucoup plus pour d'autres outils de construction Fin Edit

Artifactory fournit un impressionnant Hudson, TeamCity et de l'intégration Bamboo , et Gradle / le soutien de Ivy. Ainsi, alors que Nexus ne vous donne rien une fois que vous sortez de Sonatype « zone de confort » (Maven, m2eclipse), Artifactory embrasse et collabore avec tous les principaux outils de construction.

En fait, être en mesure de déployer des artefacts de construction d'Hudson, lorsque le travail est terminé, et non par « <=> » est une énorme différence: le plugin Artifactory Hudson fait un Déployez atomique comme de tous les objets à la fois , seulement quand un travail de construction a terminé avec succès. « <=> » court après chaque module et peut déployer un ensemble partiel d'artefacts si un travail de construction échoue au milieu. Déploiement 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 préoccupe que Maven et artefacts Maven.

Une autre chose qui rend Artifactory plus accessible est leur Artifactory solution en ligne . Pour environ 80 $ par mois, vous avez votre propre instance Artifactory, pas besoin de consacrer un serveur pour elle.

Artifactory a , ne savent pas comment cela fonctionne pour Nexus. Modifier a également une API REST que vous pouvez utiliser facilement ainsi.

En résumé, pour le stockage de base des artefacts Maven, je pense que les deux sont très bien. Mais alors que Nexus cesse d'être là strictement un « gestionnaire de référentiel Maven », Artifactory se poursuit et, étant un « stockage Binaires » général pour les binaires de toute nature, de tout outil de construction et le serveur de CI.

les système de fichiers et backends stockage de base de données. Le stockage est basé contrôle et binaires identiques sont stockés qu'une seule fois, peu importe combien de fois ils apparaissent dans la prise en pension, ce qui rend sage le stockage Artifactory plus efficace. Déplacer et copier sont également très pas cher en raison de cette architecture (dans Nexus il n'y a pas de repos pour déplacer / copier - vous devez déplacer des choses sur le système de fichiers, puis exécutez des actions correctives sur le repo pour le faire savoir le contenu a changé).

Un autre facteur de différenciation important est Artifactory a une intégration unique avec Hudson et TeamCity pour capturer des informations sur les artefacts déployés, les dépendances résolues et les données d'environnement associées aux pistes de construction, qui fournit une traçabilité complète de construction.

Artifactory stocke les objets dans une base de données, ce qui signifie que si quelque chose va mal, tous vos objets ont disparu. Nexus utilise un fichier plat pour vos objets précieux que vous n'avez pas à vous soucier de tous se perdre.

Si vous avez besoin des fonctions « Pro » de l'un (par exemple, Mise en scène repo promotion de l'artefact, NuGet), alors vous devez prendre en compte les différents modèles de prix qui sont affichés sur leurs sites Web.

En résumé:

  • Artifactory Pro
    • vous payez par serveur
    • vous pouvez payer plus pour les heures de service ont augmenté
  • Nexus Pro
    • vous payez par siège , à savoir le nombre de développeurs qui téléchargent des objets
    • service de soutien est du lundi au vendredi 0800-2000 ET que, peu importe ce que vous payez

Peu importe le nombre d'utilisateurs que vous avez, Nexus Pro offre un service de soutien qui est largement équivalent à Artifactory de 7450 $ / année de « Silver Value Pack ».

7450 $ / année vous acheter environ 67 Nexus sièges Pro (1-50 @ 108 $, le reste @ 120 $).

Le prix et le soutien seul alors, Nexus Pro est logique jusqu'à ce que vous obtenez à 67 utilisateurs, à quel point Artifactory devient l'option moins onéreuse.

Si vous faites tout le soutien interne; Cependant, ce point magique est d'environ 23 utilisateurs (plus offre de support de base Artifactory est 2750 $ / année).

J'ai fait des recherches sur les recenly Artifactory 2 et Nexus 1.3. Je vais énumérer ici les principales différences: je trouve

  • stocke Artifactory métadonnées et les fichiers éventuellement dans DB, Nexus écrit directement au système de fichiers. Il y a des avantages. et le contre. pour chaque approche. DB prend en charge les transactions, alors que dans FS fichiers stockés sont accessibles directement.
  • Artifactory a des exigences plus élevées du système en particulier pour l'espace disque.
  • Artifactory a prise en charge LDAP, alors que Nexus a seulement en version payante. D'un autre plug-in LDAP main libre pour Nexus est disponible sur le code Google.

La comparaison la plus complète: http://binary-repositories-comparison.github.io/

Vous devez utiliser Artifactory Sa dernière version a été un véritable saut Vous pouvez sauvegarder vos référentiels incrémentielle, ce qui signifie que vous pouvez avoir tous vos objets enregistrés et maintenir Son a un facile à utiliser web ui et il est vraiment facile à mettre en place Je l'ai apprécié beaucoup consultez sa nouvelle version 2.0

D'un point de vue des apprenants je note quelques différences spécifiques entre les deux.

  1. Sonatype déploiement .war est pas pris en charge sur le serveur d'applications Jboss à l'époque, bien qu'il ne fonctionne sous Tomcat.
  2. Sonatype ne me propose pas une Amazon Machine Image (AMI), à l'heure actuelle, que je pouvais rapidement et test.
  3. Un Artifactory AMI est fourni par Bitnami et prend seulement quelques minutes pour se lever et quelques minutes pour configurer, peut-être plusieurs dizaines de minutes qui dépendent de ce que vous essayez d'atteindre.
  4. Artifactory offre dans le nuage une version SaaS de Artifactory afin que vous puissiez vous concentrer sur faire avancer les choses plutôt que les infrastructures.
  5. Je n'ai pas d'expérience avec Nexus, mais je l'ai trouvé Artifactory très intuitif et facile à configurer, au moins initialement.
  6. Ajout - Je note que le Guide de l'utilisateur Artifactory, qui peut être OK pour un professionnel chevronné, est un peu de lumière sur pour certains des explications détaillées. Par exemple, en partant, un décompresse et ADDES puis un dépôt, dire EAP Enterprise Jboss repo RedHat. Tout va bien, mais quand j'essayé de voir les objets qui ont été importés rapports de Artifactory zéro artefacts? Aucune erreur ou des avertissements, donc je suis à la recherche maintenant une explication. Est-ce normal ou pas normal? Une explication simple dans le doco peut pointer rapidement l'un dans la bonne direction. Être un bon contributeur J'ajoute ces commentaires au projet au profit d'autres entrées.

Toute politique / religion de côté, les licences fait une différence pour certaines organisations.

Nexus est GPL maintenant AGPLv3 et maintenant Eclipse public License (EPL) .

Artifactory est Apache sous licence LGPLv3 licence de la version 2.1 du produit.

Vous pouvez également envisager Archiva , juste pour le titre de comparaison. Il est Apache 2.0 sous licence.

Je vois que l'utilisation Nexus est en croissance, tandis que l'utilisation Artifcatory est de rester plat generaly.

entrer image description ici

La photo est prise d'ici http: / /blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/

Il est la matrice de comparaison aussi http: // docs .codehaus.org / affichage / MAVENUSER / Maven + dépôt + Manager + Fonction + matrice

Les deux Artifactory et Nexus ont plus ou moins fonctionnalité similaire défini, mais le soutien LDAP Artifactory le rend plus attrayant sur Nexus. Bien que Nexus ont également prise en charge LDAP, mais en version payante: - (

Hmmm ... mon expérience avec Artifactory est terrible ... mais je suis un débutant par rapport afin de prendre avec un grain de sel. Ma plainte générale est que les fichiers jar récemment téléchargés sur Artifactory ne semblent pas indexé tout de suite - et il semble ne pas être une bonne façon de le forcer - comme pendant des heures. J'ai essayé différentes choses qui sont apparues comme si elles auraient travaillé, mais n'a pas. Je travaille avec m2eclipse, en ajoutant des dépendances à un projet que je conversion de fourmi. Lorsque je tente d'ajouter un pot que je viens d'ajouter à Artifactory, je pense qu'il apparaisse comme un choix dans le sélecteur, mais il ne fonctionne pas.

un collègue de travail m'a dit qu'ils avaient installé nexus et jusqu'à présent, ils l'aiment ... mais je ne peux garantir encore. Je suis sur le point d'installer que sur une boîte Linux dès qu'il peut me trouver un.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top