maven-2 - Maven的Repo,应该选用Nexus还是Artifactory?

我们正在使用Maven进行大型构建过程(> 100个模块),已经在源代码管理中存储了外部依赖项,并使用它来更新本地repo 。

我们准备建一个可以缓存中心的本地repo,以便我们不需要主动下载所有第三方依赖项目,

我们正在考虑Nexus和Artifactory,哪个是首选,它优于另一个的原因?

时间:

我不了解Artifactory,但是这是我使用Nexus的原因:

  • 简单安装(简单升级)
  • 非常好的网页用户界面
  • 易于维护,几乎没有管理开销
  • 为您提供最近安装的,损坏的工件和错误的RSS feed
  • 它可以对几个存储库进行分组,以便可以镜像多个源,只需要在settings.xml中输入一个或两个条目,
  • 从Maven进行部署是开箱即用的(不需要WebDAV hack等)。
  • 免费
  • 你可以重定向访问路径(例如,某些损坏的pom.xml需要"xxx"中的"a.b.c"),你可以修复Nexus中的错误,而不是修补,并将请求重定向到工件真正存在的地方。

Artifactory将工件存储在数据库中,这意味着如果出现问题,所有工件都将消失,Nexus使用平面文件,这样你就不必担心它们都丢失了。

Artifactory支持文件系统和数据库存储后端,存储基于校验和,并且相同的二进制文件仅存储一次,无论它们在存储库中出现多少次,这使得Artifactory的存储方式更加高效,

另一个重要的区别是Artifactory与Hudson和TeamCity进行了独特的集成,以捕获有关与部署运行相关的已部署工件,已解决的依赖关系和环境数据的信息,从而提供了完整的构建可追溯性。

我刚刚对Artifactory 2和Nexus 13进行了一些研究,我发现的主要差异:

  • Artifactory将数据存储在DB中,nexus直接写入文件系统,DB支持事务,而在FS存储文件中可以直接访问,
  • Artifactory对磁盘空间有更高的系统要求,
  • Artifactory支持LDAP,而Nexus仅提供付费版本,另一方面,Nexus的免费LDAP插件可以在Google Code上,

最完整的比较:http://docs.codehaus.org/display/MAVENUSER/Maven Repository Manager Feature Matrix

你应该使用Artifactory,它的最新版本是一次真正的飞跃,你可以增量备份存储库,这意味着你可以保存所有工件并维护它易于使用的Web ui,而且设置起来也很容易,我非常喜欢推出新版本2.0。

如果你需要"专业版"的特性( 例如。 登台仓库,工件推广,NuGet ),你需要考虑不同的定价模型,这些模型在他们的网站上显示。

总的来说:

  • Artifactory专业版
    • 每服务器的收费为
    • 你可以为增加服务时间付费
  • Nexus 专业版
    • 你支付每客户,换句话说,有多少开发人员下载工件
    • 支持服务是 Mon-Fri 0800 -2000,无论你支付什么

无论你拥有多少个用户,Nexus Pro都提供了一个与 $7,450个 artifactory/year"silver pack"的支持服务。

$7,450/year 将购买大约 67 Nexus Pro座位( 1 -50 @ $108,其余 @ $120 ) 。

在价格和支持上,Nexus Pro有意义,直到你达到 67个用户,此时Artifactory变成了更便宜的选项。

如果你在内部做所有的支持;但是,这个神奇的点大约是 23个用户( artifactory基本支持是 $2,750/year).

Nexus GPL 现在 AGPLv3 现在Eclipse Public License (EPL )

Artifactory是 Apache授权 lgpLv3许可为产品版本2.1.

从学习者的角度来看,我注意到两者之间有些特殊的差异。

  1. 尽管在Tomcat下运行,Sonatype. war 部署在Jboss应用程序服务器上不受支持。
  2. Sonatype不提供我一个 amazonmachineimage ( AMI ),目前,是我可以快速地站起来还是测试。
  3. 一个Artifactory这样我由Bitnami提供和接受一个你几分钟时间,站起来和一个的分钟数分钟,配置,也许几十依赖上你所想要实现的目标。
  4. Artifactory在云中提供一个SaaS版本的Artifactory,这样你就可以专注于获取所做的事情而不是。
  5. 我没有 Nexus 经验,但我发现Artifactory非常直观且易于配置,至少在最初。
  6. 在深度explanations,添加了- 我做为一个经验丰富的亲请注意,Artifactory用户指南,这可能是好,有点some.的灯打开 例如当你开始读,一解压然后addes了中国之前可以扩展认证协议的存储库中,比如Jboss企业回购。 一切正常,但是当我试图查看导入的Artifactory报告为零工件时? 没有错误或者警告,所以我现在正在寻找解释。 这是正常还是不正常? doco中的简单解释可以快速地指向正确的方向。 作为一个好的贡献者,我将这些评论添加到项目中,以获得其他初学者的好处。

我看到 Nexus的用法正在增长,而Artifcatory的用法是 generaly 。

enter image description here

图片取自这里 http://blog.sonatype.com/20 0 - - -nexus-repository-managers-and-growing/

还有 matrix-comparison http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix

...