The NuGet package manager has become the standard for developing software on the Microsoft platform which includes.NET and the NuGet Gallery that has emerged as a large public open source package repository. Sonatype Nexus, on the other hand, is the standard repository or component manager software running on servers from small open source projects and teams to multi-national Fortune 500 companies.
Common Practice
The usage of a component manager for your binary packages is understood as a default best practice just like you use of a version control system for your source code. Build systems and other tools across different development platforms rely on solid package management solutions such as NuGet. The usage of these tools becomes efficient with the use of a component manager.
It’s Easy
With the recent release of Nexus 2.9, our free Open Source version has full NuGet support which also includes (Nexus Pro and CLM editions that support NuGet Packages). And adding Nexus into your development tools environment is easy. You can adopt Nexus in your environment with a quick download followed by a couple of minutes for installation and configuration:
- Download Nexus. Install Nexus on a Windows or Linux server, or for initial tests even just on your own development machine
- Configure a proxy repository for the NuGet Gallery
- Create a hosted repository to store your internally created and maybe proprietary NuGet packages
- Create a repository group that bundles the two repositories you just created and exposes them as one unit
- Configure Visual Studio and your command line tools to get all packages from the NuGet repository group provided by Nexus
Faster, More Reliable Builds
This initial setup will allow you to avoid repeated downloads from the NuGet Gallery since Nexus will proxy the components after the first download. You can host your packages (and potentially third party packages) on your own Nexus server and share them with your teams and CI servers.
When using Nexus you gain access to further benefits and improved understanding of your component usage like:
- ability to host other proprietary packages in your own repositories or proxy other proprietary component manager repositories
- integrate Nexus via HTTP or the REST API and use it as package source for your QA and production deployments
- a user interface to manage the repositories and packages
- control of the user access via a security setup you can integrate with ActiveDirectory or other LDAP backends
- a search interface for finding available packages
- additional information about the packages including security vulnerability and license data
Nexus Speaks Your Language
Nexus also supports other repository formats such as Maven, YUM, OBR or NPM that might be useful in your organization. This allows you to avoid running a number of applications to solve similar problems.
It’s Time to Up Your Game
Using a package manager like NuGet combined with a component manager like Nexus leads to one common verdict: once you've experienced using them and have enjoyed the benefits, you'll never go back. Get started now.
Written by Manfred Moser
Manfred is a former author, trainer, and community advocate at Sonatype. He speaks regularly at conferences such as JavaOne, OSCON, DevOpsDays. He is a long time open source developer and contributor.
Explore All Posts by Manfred Moser