SCM-Manager Universe Tools Part 4: Sonatype Nexus
Sonatype Nexus is a repository manager that serves as a central point for managing binary software components and their dependencies. In SCM-Manager Universe we use Nexus in combination with Apache Maven to manage dependencies.
There are two different versions of Sonatype Nexus: one open source and one professional. The open source version comes with all necessary features like hosted repositories, repository groups, proxied remote repositories, artifact search and more. The professional version extends the basic functionality by features like staged releases, artifact procurement, hosting project sites or maven settings management.
|License||Eclipse Public License Version 1.0|
|Number of contributors||37|
|Number of branches||18|
Sonatype Nexus serves as a single point of contact for software artifacts from different origins. This leads to several benefits:
- faster and more reliable builds
- improved collaboration
- component usage visibility
- enforce components standards
- controlled sharing with partners
- ideal repository for robust governance
Sonatype Nexus and SCM-Manager Universe
In SCM-Manager Universe Sonatype Nexus is installed with it’s default configuration. It is part of the SingleSignOn system and you can reach it via the Warp Menu. By default there is no special configuration, because the usage of Sonatype Nexus is highly depending on the needs of your projects. You can for example proxy or mirror external repositories or host your own ones.
There are several ways to use Sonatype Nexus for the dependencies you are using in your projects:
|Proxing dependencies from the web.||You are always using the latest version of the dependencies.||The dependency is lost in case the link changes (if no version is specified within the POM). You are forced to adapt to all changes that are made to the dependency.|
|Mirroring dependencies from the web.||You are storing a certain version of a dependency in your Nexus, this way the version stays untouched and you can develop your project precisely with this dependency.||You are not using the latest version of dependencies.</p> You have to manually update dependencies.|
|Hosting your own dependencies or repositories.||Share dependencies that you developed on your own with other developers and deploy your projects to Nexus.||You have to implement the automated update of the repositories.|
In our blogpost about automated release management with SCM-Manager Universe we showed how you can use Sonatype Nexus to automate your software development workflows for. It is also possible to implement a continuous deployment or delivery process by using Jenkins in combination with Sonatype Nexus.
Sonatype Nexus is very helpful when it comes to keeping track of dependencies versions of your projects. According to your policies regarding dependency management you can configure Nexus to fit your needs. By integrating the tool into automated processes you can implement continuous integration or continuous delivery system. Other advantages are that you prevent an uncontrolled growth of dependencies in your project, that you are independent from the availability of dependencies in the web and that your architect/release manager has a good tool to control and manage required dependencies and releases.
With kind regards,
your SCM-Manager Universe Team