Nexus Repository Manager 3 is released and available to everyone as the free OSS distribution. With the increased support for different repository formats and numerous other advantages, we’ve got thousands of new users adopting it.
Users of Nexus Repository Manager 2 might be interested to know how to upgrade and take advantage of the new version.
Of course you can install version 3 on a new server or even the same server and run it in parallel. This gives you access to the new repository formats and features without interrupting your tested and proven Nexus Repository Manager 2 deployment. Ultimately however, nobody wants to support multiple versions of any software. Just ask any web developer about supporting different versions of IE.
Good thing we got you covered! Our upcoming 2.14 and 3.1 releases includes a migration tool that makes it dead simple for everyone to get all their setup and content from Nexus Repository Manager 2 into a new Nexus Repository Manager 3 installation. In addition 3.1 includes a number of other great features such as PyPi support and Content Selectors. But I can tell more about that another time – today we are going to look at migration.
So what can you expect from the migration?
- Nearly all your content and configuration can be moved
- It is easy
- No downtime is needed
- Client tools like Maven, Jenkins, npm or NuGet do not need to be reconfigured
There is really nothing to worry about.
Step by Step
Let’s see how you would go about the migration step-by-step. This will give you a good idea and by the time we are releasing 3.1 the documentation will be updated and cover all aspects of a migration in a dedicated chapter in detail.
There are only a few steps necessary to get ready and start the migration:
- Upgrade Nexus Repository to latest 2.14 and configure the included migration capability that allows you to sync from version 2 to version 3.
- Install Nexus Repository 3.1 on the same server, ensure it runs on a different port and start it up
- Configure and start the migration
The migration process is managed in a user -friendly wizard that guides you through the process. First you get to select, what configuration and content you want to migrate.
And then specifically which repositories to transfer. Different options allow you to improve performance and disk space usage during the migration.
When you have finished selecting what you want to migrate you are off to the races. Finish up and go!
And lean back and watch its churn on the transfers.
Until it is finished.
That’s already it. During migration Nexus Repository Manager 2 will continue to work as before, any additional proxied or hosted components are continuously included in the running synchronization. You can keep it running for a while and prepare to get that to make the final move.
This last flip over is performed with a few easy steps that you can all get done in a few minutes.
- Finalize migration in Nexus Repository Manager 3
- Shutdown Nexus Repository Manager 2
- Shutdown Nexus Repository Manager 3
- Reconfigure it to run on the original port and context of Nexus Repository Manager 2, for example port 8081 and /nexus context.
- Start Nexus Repository Manager 3
Congratulations – you are done. Depending on your specific setup e.g. usage of an external reverse proxy server around the repository manager the detailed config steps will vary a little bit, but the general approach is the same.
All external settings.xml, .npmrc and similar config files using repository URLs such as http://repository.example.com:8081/nexus/content/groups/public will continue to work in Nexus Repository 3, so you wont have to reconfigure any client tools.
With the migration completed you can explore your shiny new Nexus Repository Manager and move the needle further:
How about starting to use Docker and the support for private registries as well as proxying DockerHub and other registries?
Now that you are on version 3 you will be able to access all these new features and gain access to coming features like high availability easily.
And if you have a lot of automation with the Nexus Repository Manager planned, you should chime in again soon. Next time I will show you how you can use the REST and Integration API to script for the creation of repositories and a whole lot of other tasks.
Latest posts by Manfred Moser (see all)
- Integration with Nexus Repository 3 - June 8, 2016
- Sonatype Automated Deployments with Atlassian Bitbucket Pipelines - May 24, 2016
- Migrating to Nexus Repository 3 – Easy Peasy - May 11, 2016
- Puppet-eering the Nexus Repository Manager - May 2, 2016
- Impressions from DevOpsDays Vancouver 2016 - April 19, 2016