Determining and Planning Your Upgrade Path
Upgrading from Nexus Repository 2 to Nexus Repository 3 requires a complete transformation of the repository metadata and storage methods. Because of this, you will need to use one of the following for upgrade:
- Built-in Upgrade Wizard (Preferred Method)
- Best for those upgrading to a fresh Nexus Repository 3 instance
- Not appropriate when you are already using Nexus Repository 3
- Manual Methods
- Exporting / Importing Content and Configuration (Preferred Manual Method)
- Best for those already using Nexus Repository 3 and wishing to bring Nexus Repository 2 content into the existing Nexus Repository 3 instance
- Not appropriate for proxy repositories, content cannot be imported into a proxy repository
- Proxy Old Repositories
- Best for those only wishing to bring over what is actively being used
- Not appropriate when you do not wish to maintain your Nexus Repository 2 instance
- Exporting / Importing Content and Configuration (Preferred Manual Method)
- Hybrid Model
- Due to the complicated nature of this method, we do not recommend using a hybrid method unless you have access to our support and customer success teams.
While the built-in Upgrade Wizard is always our top recommendation, we also recognize that it's not always possible to use this tool in every scenario. The questions below will help you determine the best upgrade path for your individual deployment.
Baseline Requirements & Limitations
The following questions are not considerations, but requirements to be able to use the specified upgrade path. You must be able to answer yes to all questions below in order to use the specified method:
Path | Requirements | Limitations |
---|---|---|
Upgrade Wizard (Preferred) |
| Cannot be used to upgrade to an existing Nexus Repository 3 instance. |
Import/Export (Preferred Manual Method) | Are you prepared for a potentially lengthy upgrade process? | Only moves repository contents, not configuration. |
Proxy Old Repositories |
| Only moves repository contents, not configuration. |
Hybrid (Upgrade Wizard + Manual) | A common hybrid scenario would be using the Upgrade Wizard to move user tokens, then using manual methods for everything else.
| Due to the complicated nature of this method, we do not recommend using a hybrid method unless you have access to our support and customer success teams. |
Additional Considerations for Fine Tuning Your Path
RPMs in Maven Repositories
If you have RPMs in Maven repositories in Nexus Repository 2, we highly suggest using the Nexus Repository 3 import task to import these into Yum hosted repositories in Nexus Repository 3.
When doing this, you will need to disable the Yum: Configuration capability on any Maven repositories in Nexus Repository 2. If you do not disable this capability, the entire Maven 2 hosted repository will not import into a Maven 2 repository in Nexus Repository 3.
How much data do you need to move?
Whether using the Upgrade Wizard or Import, we always recommend using hard links when possible. Using hard linking will save both time and storage space.
See hard linking requirements when using the Upgrade Wizard or hard linking requirements when using Import depending on which method you are using.
How are you using Nexus Repository 2 APIs, and how will you get that same functionality in Nexus Repository 3?
Custom plugins and scripts written using the Nexus Repository 2 APIs will not work for Nexus Repository 3. You will need to rewrite scripts using the Nexus Repository 3 API.
Nexus Repository 3 does support legacy content URLs; however, you should transition builds to default URLs as soon as possible.
Do You Want to Use Different Architecture (e.g., Resilient Deployment)?
It is best to upgrade to a Nexus Repository 3 instance using the same architecture as your Nexus Repository 2 deployment. If you wish to move to a different architecture (e.g., if you wish to use one of our resilient deployment options), we recommend first upgrading to a Nexus Repository 3 instance that uses the same architecture as your Nexus Repository 2 deployment and then doing a separate upgrade to the new architecture.
Do You Wish to Use Cloud Object Stores?
While possible to do, moving to cloud object stores (e.g., S3 blob stores) takes two to three times longer than moving to other storage options. As a best practice, we recommend importing to a file-based blob store on a low-latency file system and following the instructions in Moving a Blob Store to move the content to the cloud object store.
Are You Using IQ Server?
The Upgrade Wizard will clone IQ Server configuration and expects that Nexus Repository 3 will use the same IQ Server as Nexus Repository 2. The data inside IQ Server for Nexus Repository 2 will be cloned to work with the repositories upgraded to Nexus Repository 3.
Are You Using Nexus Firewall?
The Upgrade Wizard will move Nexus Firewall waivers and approved components to your new Nexus Repository 3 instance.
While you cannot manually move Firewall waivers and approval, you can pre-fetch the approved components before enabling Firewall quarantine on the new repository.
- Export the Firewall report from the source repository using the IQ Server REST API for Repository Results.
- Use this report to request components from the new proxy repository.
- Enable Firewall quarantine on the new repository once all of the allowed components have been proxied.