Prerequisites for Upgrading from Nexus Repository 2 to Nexus Repository 3
A successful upgrade from Nexus Repository 2 to Nexus Repository 3 requires planning, decision making, and testing before attempting the actual upgrade.
Prerequisite | Required/Recommended | Details |
---|---|---|
Nexus Repository 2 instance is on the latest Nexus Repository 2 version | Required | Your Nexus Repository 2 instance must be on the latest Nexus Repository 2 version before upgrading to the latest Nexus Repository 3 version. Upgrading to an older Nexus Repository 3 then subsequently updating to the latest Nexus Repository 3 is not equivalent, as it will hit old upgrade bugs. |
Both Nexus Repository 2 and Nexus Repository 3 have the same license type (OSS or Pro) | Required | When upgrading from Nexus Repository 2 to 3, both versions must have the same licensing setup. The same license file can be used in Nexus Repository 2 and Nexus Repository 3 or a license can always be applied at a later time. If the Nexus Repository 3 instance is on the same server as the Nexus Repository 2 instance, both instances will automatically share the same license. Otherwise, you will need to install the license on the new Nexus Repository 3 instance. |
The Nexus Repository 3 instance must not yet be in use; it must be a fresh/clean instance | Required | The upgrade tool completely replaces existing configurations in Nexus Repository 3. It is intended for one-time use, and if you need to re-start an upgrade, you must first reset that upgrade. |
The Nexus Repository 3 instance must be in a single node configuration when using the upgrade wizard. | Required | Using the upgrade tool with a multi-node highly available Nexus Repository 3 deployment is not supported. The upgrade tool was not designed or tested for upgrading to a multi-node deployment. |
All files in the Nexus Repository work directory must be owned by the OS user, and there should be no zero length files in the work directory | Required | You can use the following Linux command to find files in the work directory that are not owned by the 'nexus' user as well as zero length files:
|
Decide on a data transfer method; ensure you have adequate storage space for the upgrade | Required | Full details available in Deciding on a Data Transfer Method. |
Ensure Nexus Repository 2 repository and repository group Repository IDs differ by more than just case. You must use distinguishable names. | Required | IDs of repositories and repository groups in Nexus Repository 2 that differ only by case will not be accepted during an upgrade to Nexus Repository 3 (example version 2 IDs: |
Ensure your Nexus Repository 3 instance is using an external PostgreSQL database PRO | Recommended | We highly recommend that you set up your Nexus Repository 3 instance with an external PostgreSQL database. See our documentation on configuring Nexus Repository Pro for an external PostgreSQL database. |
Review repository groups' contents in Nexus Repository Manager 2 to ensure all contents are selected for upgrade. | Recommended | Neglecting to select a single repository within a group may prevent the entire group from being upgraded. |
If necessary, configure your blob stores in Nexus Repository 3. (See our Storage Guide) | Recommended | You will not be able to make configuration changes in Nexus Repository 3 again until the upgrade has successfully completed. |
If you wish to use and move user tokens, navigate to the User Token tab in the Administration menu on the Nexus Repository 2 instance and check to ensure that user tokens are enabled. | Recommended | The upgrade tool only upgrades pre-existing user tokens to Nexus Repository 3 if user token support is enabled in Nexus Repository 2. |
Consider optimizing upgrade performance by disabling unnecessary tasks and enabling some helfup ones. | Recommended | Full details available in the Optimizing Upgrade Performance topic. |
Back up your infrastructure | Recommended | Establish a safe recovery point should something go wrong. |
Test your upgrade with your desired upgrade settings using a similar test environment | Recommended | As a best practice, we recommend trying to create a test version of your current production environment so that you can test upgrading from Nexus Repository 2 to 3 there before performing it in a production environment. This can help you see what errors (such as out of memory errors in Nexus Repository 2) may occur with your selected test upgrade settings. Then, you can adjust your settings so that you do not encounter these errors when upgrading your production instance. |