Skip to main content

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

  • 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.

Note

We recommend using the built-in Upgrade Wizard whenever possible.

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)

  • Are you upgrading to a fresh Nexus Repository 3 instance?

  • Will you be using the same license type (OSS or Pro) on your Nexus Repository 3 instance as on your Nexus Repository 2 instance?

  • Can you ensure that your Nexus Repository 2 instance is on the latest Nexus Repository 2 version before upgrading?

  • Can you ensure that all files in the Nexus Repository work directory are owned by the OS user and that there are no zero length files in the work directory? (See Prerequisites for Upgrading from Nexus Repository 2 to Nexus Repository 3 for more details.)

  • Can you ensure that Nexus Repository 2 repository and repository group Repository IDs differ by more than just case and use distinguishable names?

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

  • Are you prepared for a prolonged upgrade process?

  • Are you prepared to keep your Nexus Repository 2 instance after this upgrade, potentially long-term?

  • Are you prepared to allow inbound network traffic from Nexus Repository 3 to Nexus Repository 2?

  • Are you ok with some components in repositories not being upgraded?

Only moves repository contents, not configuration.

Hybrid (Upgrade Wizard + Manual)

Note

A common hybrid scenario would be using the Upgrade Wizard to move user tokens, then using manual methods for everything else.

  • Are you upgrading to a fresh Nexus Repository 3 instance?

  • Will you be using the same license type (OSS or Pro) on your Nexus Repository 3 instance as on your Nexus Repository 2 instance?

  • Can you ensure that your Nexus Repository 2 instance is on the latest Nexus Repository 2 version before upgrading?

  • Are you prepared for a potentially lengthy upgrade process?

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.

  1. Export the Firewall report from the source repository using the IQ Server REST API for Repository Results.

  2. Use this report to request components from the new proxy repository.

  3. Enable Firewall quarantine on the new repository once all of the allowed components have been proxied.