Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

nexus or artifactory with nuget?

I am trying to introduce decent reference management to my organisation. Having used Nexus with Maven before, I know it to be far superior to the method of building everything locally. As this is a .Net shop I want to use NuGet instead of Maven. I know the binary repository will be the most important bit to get right, but have no experience of hosting a NuGet repository in a binary repository.

Is there any reason to favour Nexus or Artifactory in this situation? We are using Jenkins with svn as our CI, if that makes any difference.

like image 587
Aidan Avatar asked Mar 05 '13 11:03

Aidan


2 Answers

This is what we found out last time we compared the NuGet support in Artifactory vs. Nexus (disclaimer - I'm with JFrog):

  1. In Artifactory the NuGet support is naturally integrated into the product, which makes management much easier - just mark a local repository as NuGet enabled or set the remote URL for a remote repo. Multiple NuGet repositories can be easily aggregated under a single virtual NuGet repo - same approach used with any other repo in Artifactory; In Nexus, you will need to define a new type of repository, set up a new dedicated security realm, and if you need an existing repository to also answer NuGet requests you have to add a special facade to it. This is a general approach in Nexus where every new type of repository (such as P2) requires multi-level configuration changes.

  2. There is absolutely no integration for NuGet packages in the Nexus UI. You cannot even search for NUGet artifacts, which is crucial for management and maintenance (which is why searching only from Visual Studio cannot be enough). This is mainly due to the fact that Nexus is highly oriented towards Maven and the Maven layout; In Artifactory, you can search and manage NuGet packages like any other artifacts. You can view information from the nuspec metadata in the UI and even drill down into the content of individual files under a NuPkg package, and inspect their content.

  3. Security integration is also easier in Artifactory - there is no need to manually generate a special key, but the key is just the combination of the username and password or a secure password. This is great if you want your users NuGet passwords to be synced with Artifactory's MS-AD/LDAP integration; In Nexus NuGet uses an isolated security realm.

  4. Artifactory implements the complete range of NuGet searches, including the more esoteric but useful use-cases, and the underlying implementation uses a combination of in-memory caches and persistent, pre-calculated, searchable properties to make sure NuGet queries are very fast and scalable even for a huge repository; Not sure if Nexus uses similar optimizations.

I hope that helps.

PS. NuGet support is part of the Pro versions of Artifactory, and included for free in Nexus OSS since september 2014.

like image 53
Yoav Landman Avatar answered Sep 19 '22 07:09

Yoav Landman


Nexus has support for NuGet and you can host or proxy your NuGet repositories directly in it. Have a look here.

I am a Maven and Nexus fan, so I am biased. I have used Artifactory. It's a good tool, but I found Nexus to be much better at the time. I believe the NuGet feature is also available in the OSS version, but you might want to double-check that.

I will not argue why and if Nexus is better than Artifactory, as it would not be fair and would only cause flame wars. My own reasoning is this: the Sonatype guys are the ones behind Maven, Nexus and Maven Central. This puts them at the heart of things and therefore their knowledge would always be deeper in regards to the internals of these tools and their inter-operability.

If you are familiar and comfortable with Nexus, I frankly see no reason for you to switch. However, you can decide for yourself. Have a look here.

like image 33
carlspring Avatar answered Sep 17 '22 07:09

carlspring