【问题标题】:nexus or artifactory with nuget?与 nuget 的关系或人工制品?
【发布时间】:2013-02-19 18:31:59
【问题描述】:

我正在尝试向我的组织引入体面的参考管理。之前在 Maven 中使用过 Nexus,我知道它远远优于在本地构建 everything 的方法。由于这是一个 .Net 商店,我想使用 NuGet 而不是 Maven。我知道二进制存储库将是正确处理的最重要部分,但没有在二进制存储库中托管 NuGet 存储库的经验。

在这种情况下是否有任何理由偏爱 Nexus 或 Artifactory?我们使用 Jenkins 和 svn 作为我们的 CI,如果这有什么不同的话。

【问题讨论】:

标签: jenkins nuget nexus nuget-package artifactory


【解决方案1】:

Nexus 支持 NuGet,您可以直接在其中托管或代理您的 NuGet 存储库。看看here

我是 Maven 和 Nexus 的粉丝,所以我有偏见。我用过Artifactory。这是一个很好的工具,但我发现 Nexus 在当时要好得多。我相信 NuGet 功能在 OSS 版本中也可用,但您可能需要仔细检查。

我不会争论 Nexus 为什么以及是否比 Artifactory 更好,因为这不公平,只会引发激烈的战争。我自己的理由是:Sonatype 是 Maven、Nexus 和 Maven Central 背后的人。这将他们置于事物的核心,因此他们对这些工具的内部结构及其互操作性的了解总是更深入。

如果您熟悉并熟悉 Nexus,坦率地说,我认为您没有理由切换。但是,您可以自己决定。看看here

【讨论】:

  • Artifactory 始终提供文件系统存储选项(并且始终是推荐的选项)。当谈到支持不同的技术和工具时,Sonatype 对 Maven 的深入参与实际上阻碍了他们。例如。他们仍然只允许 Gradle 和 Ivy 的 Maven 布局! Maven 专业知识在谈论 NuGet 支持时不值得一提。
  • 我纠正你,你错了。只是不要把你在 Sonatype 博客上读到的任何 FUD 视为理所当然。
  • NuGet 支持仅是 Nexus Professional 的一部分,您可以使用试用版安装程序试一试。我与 Sonatype 合作,鼓励您尝试这两种工具,并询问其他企业和开源团体他们大规模使用和推荐的内容以及您想要支持的用例。
  • 顺便说一句,John Smart 博客的链接已经过时了 - Wakaleo Consulting(John 的公司)很久以前切换到使用 Artifactory Online:wakaleo.artifactoryonline.com 另请注意,该博客文章没有提及 NuGet 支持是什么问题。
  • +1 -> @JBaruch:没错,第一个链接只是一个过时的比较,没有提到 NuGet。但是,它仍然比较两个存储库管理器。此外,特征矩阵链接进行了更彻底的比较。
【解决方案2】:

这是我们上次比较 Artifactory 与 Nexus 中的 NuGet 支持时发现的(免责声明 - 我支持 JFrog):

  1. 在 Artifactory 中,NuGet 支持自然地集成到产品中,这使管理变得更加容易 - 只需将本地存储库标记为启用 NuGet 或设置远程存储库的远程 URL。多个 NuGet 存储库可以轻松地聚​​合在一个虚拟 NuGet 存储库下——与 Artifactory 中的任何其他存储库使用的方法相同;在 Nexus 中,您将需要定义一种新类型的存储库,设置一个新的专用安全领域,如果您需要现有存储库来响应 NuGet 请求,则必须为其添加特殊外观。这是 Nexus 中的一种通用方法,其中每种新类型的存储库(例如 P2)都需要多级配置更改。

  2. 绝对没有在 Nexus UI 中集成 NuGet 包。您甚至无法搜索对管理和维护至关重要的 NUGet 工件(这就是为什么仅从 Visual Studio 搜索是不够的)。这主要是因为 Nexus 高度面向 Maven 和 Maven 布局; 在 Artifactory 中,您可以像任何其他工件一样搜索和管理 NuGet 包。您可以查看来自 nuspec 元数据 in the UI 的信息,甚至可以深入了解 NuPkg 包下各个文件的内容,并检查其内容。

  3. Artifactory 中的安全集成也更容易 - 无需手动生成特殊密钥,但密钥只是用户名和密码的组合或安全密码。如果您希望您的用户 NuGet 密码与 Artifactory 的 MS-AD/LDAP 集成同步,这非常棒;在 Nexus 中,NuGet 使用隔离的安全领域。

  4. Artifactory 实现了完整的 NuGet 搜索范围,包括更深奥但更有用的用例,并且底层实现结合使用内存缓存和持久的、预先计算的、可搜索的属性来确保 NuGet即使对于庞大的存储库,查询也非常快速且可扩展;不确定 Nexus 是否使用了类似的优化。

希望对你有帮助。

PS。 NuGet 支持是 Artifactory Pro 版本的一部分,并免费包含在 Nexus OSS since september 2014

【讨论】:

  • +1:虽然我非常感谢您的回答(作为开发 Artifactory 的公司的人),但我有一点要说:如果 NuGet 支持是免费的,目前还不清楚或不。也许您可以修改您的回复以反映这一点?
  • 谢谢,我已将此添加到我的答案中。
  • NuGet 支持只是 Artifactory 专业版的一部分是否仍然正确?根据books.sonatype.com/nexus-book/reference/_introduction_6.html 的说法,它看起来从 Nexus 2.9 版开始是免费的
  • NuGet 支持似乎仍然仅在 Artifactory Pro 中可用。不幸的是,对于一家小型软件商店来说,Pro 的成本高得令人望而却步。我们一直在使用 ProGet 来支持 NuGet,它运行得相当好。现在 Nexus OSS 支持 NuGet,我们将一切都切换到 Nexus OSS。太糟糕了,因为 Artifactory 有很多值得喜欢的地方。我希望 JFrog 采用像 TeamCity 这样的许可模式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-08
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多