Domanda

Stiamo usando Maven per un grande processo di compilazione (> 100 moduli). Abbiamo conservato nostre dipendenze esterne di controllo del codice sorgente, e utilizzando tale per aggiornare un repo locale.

Tuttavia, siamo pronti a passare ad un repo locale che può memorizzare nella cache centrale in modo che non dobbiamo scaricare in modo proattivo tutte le 3 parti (ma possiamo ancora avere un repo locale per tirare da). Oltre vogliamo pubblicare i nostri artefatti build interno da una nightly build in modo che gli sviluppatori non devono costruire il mondo.

Stiamo valutando Nexus e Artifactory. Quali sono le ragioni per preferire uno sopra l'altro? ce ne sono altri che dovremmo prendere in considerazione?

È stato utile?

Soluzione

Non so circa Artifactory ma qui ci sono le mie ragioni per l'utilizzo di Nexus:

  • Morto semplice installare (e dal 1,2, morto semplice aggiornamento, anche)
  • Molto buon web UI
  • Facile da mantenere, quasi nessun overhead amministrativo
  • Fornisce i feed RSS di recente installati, manufatti rotti e errori
  • E 'possibile raggruppare diversi repository in modo da poter specchiare diverse fonti, ma hanno bisogno solo di una o due voci nel vostro settings.xml
  • Distribuzione da Maven funziona out of the box (senza bisogno di hack WebDAV, ecc).
  • è gratuito
  • È possibile reindirizzare i percorsi di accesso (vale a dire un po 'rotto pom.xml richiede "a.b.c" da "xxx"). Invece di patching del POM, è possibile correggere il bug nel Nexus e reindirizzare la richiesta al luogo in cui il manufatto è in realtà.

Altri suggerimenti

Sono sicuro che se si parla solo di memorizzazione di file binari da "mvn deploy" sia farò bene.

Usiamo Artifactory molto a lungo con tutti gli aggiornamenti lungo la strada. Un sacco di progetti, numerose istantanee schierati e pronti contro termine esterni proxied. Non un singolo problema. Trovo difficile spiegare come altre persone sperimentano problemi con il suo DB, l'indicizzazione o qualsiasi altra cosa. Niente del genere mai successo a noi. Inoltre, Artifactory permette di memorizzare i dati su un disco e usare solo un DB per la memorizzazione dei metadati, è abbastanza flessibile ( vedere di più qui ).

Ciò che rende quelle applicazioni molto diverso è il loro approccio verso l'integrazione con altri strumenti e tecnologie di compilazione. Nexus e Sonatype sono praticamente bloccati su Maven e m2eclipse. Essi ignorano qualsiasi altra cosa e solo di recente ha iniziato a lavorare in proprio integrazione Hudson proprietario (vedere il loro Maven 3 webinar ). Modifica Questo non è più vero, come del 2017 Nexus dà un supporto molto più grande per gli altri strumenti di compilazione Fine Modifica

Artifactory fornisce un impressionante Hudson, TeamCity e Bamboo integrazione , e Gradle / supporto Ivy . Così, mentre Nexus ti dà nulla una volta che passo fuori Sonatype "zona di comfort" (Maven, m2eclipse), Artifactory abbraccia e collabora con tutti i principali strumenti di compilazione.

In realtà, essendo in grado di distribuire gli artefatti costruire da Hudson, quando il lavoro è finito, e non per "<=>" è una differenza enorme: plug Artifactory Hudson fa un deploy atomica come di tutti gli artefatti in una sola volta , solo quando un lavoro di compilazione terminata con successo. "<=>" corre dopo ciascun modulo e può distribuire un set parziale di manufatti se un lavoro di compilazione fallisce nel mezzo. Distribuzione da Maven al termine del modulo e non da un build server alla fine del lavoro è davvero una brutta cosa da fare.

Come si vede, Artifactory pensa "fuori dagli schemi", mentre Nexus pensa "dentro la scatola" e si preoccupa solo di Maven e manufatti Maven.

Un'altra cosa che rende Artifactory più accessibile è la loro Artifactory cloud-based online soluzione . Per circa 80 $ al mese avete il vostro esempio Artifactory, non c'è bisogno di dedicare un server per esso.

Artifactory ha un RIPOSO semplice e diretto API , non so come funziona per Nexus. Modifica ha anche un'API REST che è possibile utilizzare con estrema facilità.

In sintesi, per l'archiviazione di base dei manufatti Maven Penso che entrambi vanno bene. Ma mentre Nexus ferma lì essendo strettamente un "Maven repository manager", Artifactory va avanti e avanti, essendo un "stoccaggio Binari" generali per i binari di qualsiasi genere, da qualsiasi strumento di compilazione e il server CI.

supporti Artifactory sia del file system e di stoccaggio di database backend. Lo storage è checksum basa e binari identici sono memorizzati solo una volta, non importa quante volte appaiono nel pronti contro termine, il che rende più efficiente Artifactory stoccaggio-saggio. Spostare e copiare sono anche molto economico a causa di questa architettura (in Nexus non c'è riposo per spostare / copiare - si deve spostare roba sul file system, quindi eseguire azioni correttive sul repo per farle sapere il contenuto è cambiato).

Un altro elemento di differenziazione importante è Artifactory ha integrazione unica con Hudson e TeamCity per l'acquisizione di informazioni su artefatti distribuiti, le dipendenze risolte e dati ambientali associati con corse di build, che prevede la tracciabilità completa compilazione.

Artifactory memorizza i manufatti in un database, il che significa che se qualcosa va storto, tutti i manufatti sono andati. Nexus utilizza un file flat per i vostri preziosi manufatti in modo da non dovete preoccuparvi di tutti perdersi.

Se avete bisogno le caratteristiche "Pro" di (pronti contro termine ad esempio messa in scena, di promozione artefatto, NuGet) sia, allora è necessario considerare i diversi modelli di pricing, che vengono visualizzati sui loro siti web.

In sintesi:

  • Artifactory Pro
    • si paga per server
    • si può pagare di più per aumento delle ore di servizio
  • Nexus Pro
    • si paga per posto , vale a dire il numero di sviluppatori scaricano manufatti
    • servizio di supporto è da lunedì a venerdì 0800-2000 ET solo, non importa quello che si paga

Non importa quanti utenti hai, Nexus Pro offre un servizio di assistenza che è grosso modo equivalenti a $ 7.450 di Artifactory / anno "Silver Value Pack".

$ 7.450 / anno, vi prenderà circa 67 Nexus Pro sedi (1-50 @ $ 108, il resto @ $ 120).

Il prezzo e il supporto da solo poi, Nexus Pro ha un senso fino ad arrivare a 67 utenti, a quel punto Artifactory diventa l'opzione più economica.

Se stai facendo tutto il supporto in-house; tuttavia, quel punto la magia è di circa 23 utenti (la maggior offerta di supporto di base del Artifactory è 2.750 $ / anno).

Ho fatto qualche ricerca su recenly Artifactory 2 e Nexus 1.3. Io ti elenco qui le principali differenze che ho trovato:

  • negozi Artifactory metadati e eventualmente i file in DB, Nexus scrive direttamente file system. Ci sono pro. e contro. per ogni approccio. DB supporta le transazioni, mentre in file memorizzati FS si può accedere direttamente.
  • Artifactory ha requisiti di sistema più elevati soprattutto per lo spazio su disco.
  • Artifactory ha il supporto LDAP, mentre Nexus ha solo in versione a pagamento. Sul plugin gratuito LDAP invece per Nexus è disponibile su Google Code.

Il confronto più completo: http://binary-repositories-comparison.github.io/

Si dovrebbe usare Artifactory La sua ultima versione è stato un vero e proprio salto È possibile eseguire il backup incrementale la repository, il che significa che è possibile avere tutti i vostri artefatti salvati e mantenere La sua ha un facile da usare web ui ed è veramente facile da impostare mi è piaciuto molto controllare la sua nuova versione 2.0

Da un punto di vista gli studenti che notare alcune differenze specifiche tra i due.

  1. Sonatype .war distribuzione non è supportato su application server Jboss, al momento, anche se viene eseguito sotto Tomcat.
  2. Sonatype non mi offre un'Amazon Machine Image (AMI), al momento, che ho potuto stare in piedi in fretta e di prova.
  3. Un Artifactory AMI è fornita da Bitnami e richiede solo pochi minuti di alzarsi e qualche minuto per configurare, forse diverse decine di minuti dipende da quello che si sta cercando di ottenere.
  4. Artifactory offre una versione SaaS di Artifactory nel cloud in modo da poter concentrarsi su come ottenere le cose fatte, piuttosto che di infrastrutture.
  5. Non ho esperienza con Nexus, ma ho trovato Artifactory molto intuitivo e facile da configurare, almeno inizialmente.
  6. aggiunte - faccio notare che la Guida Artifactory dell'utente, che può essere OK per un professionista esperto, è un po 'di luce per un po di spiegazioni approfondite. Ad esempio, partendo, uno apre la chiusura lampo e poi Addes un repository, dicono di RedHat JBoss Enterprise EAP Repo. Tutto va bene, ma poi quando ho provato a visualizzare i manufatti che sono stati importati rapporti Artifactory azzerare gli artefatti? Nessun errore o avviso quindi sono ora alla ricerca di una spiegazione. È questo normale o non è normale? Una semplice spiegazione nel doco può puntare rapidamente uno nella giusta direzione. Essere un buon collaboratore Sto aggiungendo queste osservazioni al progetto per il beneficio di altri antipasti.

Tutti politica / religione a parte, di licenze fa la differenza per alcune organizzazioni.

Nexus è GPL ora AGPLv3 e ora Eclipse Public License (EPL) .

Artifactory è Licenza Apache LGPLv3 concesso in licenza a partire dalla versione 2.1 del prodotto.

Si potrebbe anche prendere in considerazione Archiva , solo per la causa di paragone. E 'Apache 2.0 concesso in licenza.

Vedo che l'utilizzo Nexus è in crescita, mentre l'utilizzo Artifcatory è Generaly rimanendo piatta.

entrare descrizione dell'immagine qui

La maschera è catturata da qui http: / /blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/

C'è anche matrice confronto http: // docs .codehaus.org / display / MAVENUSER / Maven + repository + Responsabile + Caratteristica + Matrix

Sia Artifactory e Nexus hanno funzione più o meno simili, ma impostare il supporto LDAP di Artifactory rende più attraente su Nexus. Anche se Nexus ha anche il supporto LDAP ma nella versione a pagamento: - (

Hmmm ... la mia esperienza con Artifactory è terribile ... ma io sono un newbie relativo in modo da prendere con un grano di sale. La mia lamentela generale è che i file jar di recente pubblicati su di Artifactory non sembrano ottenere indicizzati subito - come per ore - e non ci non sembra essere un buon modo per forzarlo. Ho provato varie cose che apparivano come se essi dovrebbero hanno lavorato, ma non lo feci. Ho lavorato con m2eclipse, aggiungendo le dipendenze ad un progetto che sto conversione da formica. Quando provo ad aggiungere un barattolo che ho appena aggiunto al Artifactory, mi aspetto che presentarsi come una scelta nel selettore, ma non.

un collega mi ha detto che avevano installato nesso e finora gli piace ... ma non posso garantire per esso ancora. Sto per installare che su una macchina Linux non appena mi può trovare uno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top