Pergunta

Estamos usando Maven para um grande processo de construção (> 100 módulos). Temos vindo a armazenar nossas dependências externas no controle de origem, e usando isso para atualizar um repo local.

No entanto, estamos prontos para pós-graduação para um repositório local, que pode armazenar em cache tão central que não tem que baixar de forma proativa todos os 3 partes (mas ainda podemos ter um repositório local para puxar a partir). Além disso, queremos publicar nossos artefatos de construção internos de um nightly build para que os desenvolvedores não têm que construir o mundo.

Estamos considerando Nexus e Artifactory. Quais são as razões para preferir um sobre o outro? Existem outros que devem estar a pensar?

Foi útil?

Solução

Eu não sei sobre Artifactory mas aqui estão as minhas razões para usar Nexus:

  • instalar Morto simples (e desde 1.2, atualização simples morto, também)
  • Muito bom UI web
  • Fácil de manter, sobrecarga quase nenhum administrativa
  • Fornece feeds RSS de recentemente instalado, artefatos quebrados e erros
  • É possível agrupar vários repositórios para que você possa espelhar várias fontes, mas precisam de apenas uma ou duas entradas na sua settings.xml
  • Implantação do Maven funciona fora da caixa (sem necessidade de hacks WebDAV, etc).
  • é grátis
  • Você pode redirecionar caminhos de acesso (ou seja, alguns pom.xml quebrado requer "a.b.c" de "xxx"). Em vez de remendar o POM, você pode corrigir o bug no Nexus e redirecionar a solicitação para o local onde o artefato realmente é.

Outras dicas

Eu tenho certeza que se você só falar sobre o armazenamento binários de "mvn deploy" tanto vai fazer bem.

Nós usamos Artifactory muito extensivamente com todos os upgrades ao longo do caminho. Muitos projectos, vários snapshots implantado e repos externos proxy. Nem um único problema. Acho que é difícil explicar como outras questões experiência que as pessoas com o seu DB, indexação ou qualquer outra coisa. Nada como que já aconteceu para nós. Além disso, Artifactory permite armazenar dados em um disco e só usar um DB para armazenar metadados, é bastante flexível ( veja mais aqui ).

O que torna essas aplicações muito diferente é a sua abordagem para a integração com outras ferramentas e tecnologias de construção. Nexus e Sonatype estão praticamente fechados em Maven e m2eclipse. Eles ignoram qualquer outra coisa e só recentemente começou a trabalhar em sua própria integração Hudson proprietário (ver sua Maven 3 webinar ). EDIT: Isto não é mais verdade a partir de 2017 Nexus dá um apoio muito maior para outras ferramentas de compilação Fim de Editar

Artifactory fornece uma Hudson, TeamCity e bambu integração , e Gradle / suporte Ivy . Assim, enquanto Nexus lhe dá nada uma vez que você sair da Sonatype "zona de conforto" (Maven, m2eclipse), abraços Artifactory e colabora com todas as principais ferramentas de compilação.

Na verdade, ser capaz de implantar artefatos de construção de Hudson, quando o trabalho for concluído, e não por "mvn deploy" é uma enorme diferença: Artifactory Hudson plug-in faz uma atômico-like implantação de todos os artefatos ao mesmo tempo , somente quando um trabalho de construção concluído com êxito. "mvn deploy" corre depois de cada módulo e pode implantar um conjunto parcial de artefatos se um trabalho de construção falhar no meio. Implementando a partir Maven na conclusão do módulo e não a partir de um servidor de compilação sobre a conclusão do trabalho é realmente uma coisa ruim para fazer.

Como você vê, Artifactory pensa "fora da caixa", enquanto Nexus pensa "dentro da caixa" e só se preocupa com Maven e Maven artefatos.

Outra coisa que faz Artifactory mais acessível é a sua baseado em nuvem Artifactory online solução . Por cerca de US $ 80 por mês você tem a sua própria instância Artifactory, não há necessidade de dedicar qualquer servidor para ele.

Artifactory tem um simples e simples API REST , não sei como ele funciona para Nexus. Editar Nexus também tem uma API REST que você pode usar facilmente também.

Para resumir, para armazenamento básico de artefatos Maven acho que ambos estão bem. Mas enquanto Nexus pára por aí sendo estritamente um "Maven gerente de repositório", Artifactory continua e continua, sendo um "Binários de armazenamento" geral para binários de qualquer espécie, de qualquer ferramenta de construção e servidor de CI.

suportes Artifactory sistema de arquivos e armazenamento de banco de dados back-ends. O armazenamento é de soma de verificação com base e binários idênticos são armazenados apenas uma vez, não importa quantas vezes eles aparecem no repo, o que torna Artifactory mais eficiente de armazenamento-wise. Mover e copiar são também muito barato por causa desta arquitetura (em Nexus não há descanso para mover / copiar - você tem que mover o material no sistema de arquivos, ações corretivas, em seguida, executado no repo para deixá-lo saber o conteúdo mudou)

Outro diferencial importante é Artifactory tem integração única com Hudson e TeamCity para capturar informações sobre artefatos implantados, dependências resolvidas e dados ambientais associados com corridas de compilação, que fornece rastreabilidade compilação completa.

lojas Artifactory os artefatos em um banco de dados, o que significa que, se algo der errado, todos os seus artefatos sumiram. Nexus usa um arquivo simples para seus artefatos preciosos, assim você não precisa se preocupar com todos eles se perder.

Se você precisa do "Pro" apresenta de qualquer (repos por exemplo encenação, promoção artefato, NuGet), e, em seguida, você precisa considerar os diferentes modelos de preços, que são exibidos em seus sites.

Em resumo:

  • Pro Artifactory
    • você paga por servidor
    • você pode pagar mais para o aumento de horas de serviço
  • Nexus Pro
    • você paga por assento , ou seja, quantos desenvolvedores download de artefatos
    • O serviço de suporte é de segunda a sexta 0800-2000 ET única, não importa o que você paga

Não importa quantos utilizadores tiver, Nexus Pro oferece um serviço de apoio que é aproximadamente equivalente ao Artifactory, de US $ 7.450 / ano "Silver Value Pack".

$ 7.450 / ano você vai comprar cerca de 67 Nexus Pro assentos (1-50 @ $ 108, o resto @ $ 120).

No preço e suporte sozinho, então, Nexus Pro faz sentido até chegar a 67 usuários, em que ponto Artifactory torna-se a opção mais barata.

Se você está fazendo todo o suporte in-house; no entanto, que o ponto mágico é de cerca de 23 usuários (oferta de suporte mais básico de Artifactory é de US $ 2.750 / ano).

Eu fiz alguma pesquisa sobre recenly Artifactory 2 e Nexus 1.3. Vou listar aqui as principais diferenças que encontrei:

    arquivos
  • lojas Artifactory de metadados e opcionalmente em DB, Nexus escreve diretamente ao sistema de arquivos. Há prós. e contras. para cada abordagem. DB suporta transações, enquanto no FS arquivos armazenados podem ser acessados ??diretamente.
  • Artifactory tem requisitos de sistema superiores especialmente para o espaço em disco.
  • Artifactory tem suporte LDAP, enquanto Nexus tem apenas na versão paga. No plug-in LDAP livre outro lado, para Nexus está disponível no Google Code.

A comparação mais completa: http://binary-repositories-comparison.github.io/

Você deve usar Artifactory Sua última versão foi um verdadeiro salto Você pode fazer backup incremental seus repositórios, o que significa que você pode ter todos os seus artefatos salvo e manter Seu tem um fácil de usar web ui e é realmente fácil de configurar eu me diverti muito confira sua nova versão 2.0

A partir de aprendizes ponto de vista eu notar algumas diferenças específicas entre os dois.

  1. Sonatype .war implementação não é suportada no servidor de aplicações Jboss no momento, embora não executado em Tomcat.
  2. Sonatype não me oferecer uma imagem Amazon Machine (AMI), neste momento, que eu poderia ficar rapidamente para cima e teste.
  3. Uma Artifactory AMI é fornecido pelo BitNami e leva a apenas alguns minutos para se levantar e mais alguns minutos para configurar, talvez várias dezenas de minutos depende do que você está tentando alcançar.
  4. oferta Artifactory uma versão SaaS do Artifactory na nuvem para que você possa se concentrar em fazer as coisas em vez de infra-estrutura.
  5. Eu não tenho nenhuma experiência com Nexus mas eu encontrei Artifactory muito intuitivo e fácil de configurar, pelo menos inicialmente.
  6. Adicionado - eu faço nota que o Guia Artifactory usuário, que pode ser OK para um profissional experiente, é um pouco leve por algum explicações detalhadas. Por exemplo, começando, um descompacta e depois addes um repositório, dizer da RedHat Jboss EAP Empresa Repo. Tudo vai bem, mas, em seguida, quando eu tentei ver os artefatos que foram importados relatórios Artifactory de zero artefatos? Nenhum erro ou aviso por isso estou agora à procura de uma explicação. Isso é normal ou não normal? Uma explicação simples na doco pode rapidamente apontar um na direção certa. Ser um bom colaborador eu estou adicionando esses comentários ao projeto para o benefício de outros iniciantes.

Toda a política / religião de lado, licenciamento faz a diferença para algumas organizações.

Nexus é GPL agora AGPLv3 e agora Eclipse Public License (EPL) .

Artifactory é Apache licenciado LGPLv3 licenciado a partir da versão 2.1 do produto.

Você também pode querer considerar Archiva , apenas para efeitos de comparação. É Apache 2.0 licenciado.

Eu vejo que o uso Nexus está crescendo, enquanto o uso Artifcatory é generaly ficar plana.

enter descrição da imagem aqui

A fotografia é tirada a partir daqui http: / /blog.sonatype.com/2014/11/42000-nexus-repository-managers-and-growing/

Há também matriz de comparação http: // docs .codehaus.org / display / MAVENUSER / Maven + Repositório + Gestor + recurso + Matrix

Ambos Artifactory e Nexus tem mais ou menos semelhante conjunto de recursos, mas o suporte LDAP do Artifactory torna mais atraente sobre Nexus. Embora Nexus também tem suporte LDAP, mas na versão paga: - (

Hmmm ... minha experiência com artifactory é horrível ... mas eu sou um novato relativa para levá-lo com um grão de sal. Minha reclamação geral é que os arquivos jar recentemente enviados para Artifactory não parecem ser indexada imediatamente - como em por horas - e não parece ser uma boa maneira de forçá-lo. Eu tentei várias coisas que apareceram como se deveria ter funcionado, mas não o fez. Tenho vindo a trabalhar com m2eclipse, acrescentando dependências para um projeto que eu estou convertendo de formiga. Quando tento adicionar um frasco que acabo adicionado ao artifactory, espero que ele apareça como uma opção no seletor, mas isso não acontece.

um colega de trabalho me disse que eles tinham instalado nexo e até agora eles gostam ... mas eu não posso garantir para isso ainda. Estou prestes a instalar, que em uma máquina Linux, logo que ele pode me encontrar um.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top