Nexus Upgrade Instructions
Nexus can be directly upgraded from any previous version to any later version (e.g. 1.6.0 directly to 1.9.2.1). Please check the update notes for any intermediate versions to find steps you might need to perform after upgrade.
To 1.9.2.4 Release from 1.9.2.3
No manual steps required.
To 1.9.2.3 Release from 1.9.2.2
No manual steps required.
To 1.9.2.2 Release from 1.9.2
Important: Nexus 1.9.2 contains a bug (NEXUS-4483) which can cause the system feed database to grow very large, resulting in poor performance. If you are currently running 1.9.2 you are likely affected by this issue, and we recommend that you perform the following steps during upgrade:
- Shut down Nexus 1.9.2
- Remove or rename "sonatype-work/nexus/timeline"
- Start Nexus 1.9.2.2
Note that if you are upgrading from a previous version of Nexus (prior to 1.9.2) then the steps above are not necessary.
To 1.9.2 Release from 1.9.1.1
No manual steps required.
To 1.9.1.1 Release from 1.9.1
No manual steps required.
To 1.9.1 Release from 1.9.0.2
No manual steps required.
To 1.9.0.2 Release from 1.9.0.1
Republish group indexes. Click here to view this section of the Nexus book. Note: If upgrading from a pre 1.9 release you can skip this step.
To 1.9.0.1 Release from 1.9
No manual steps required.
To 1.9 Release from 1.8.0.1
Sonatype has changed how the lucene indexes are stored on disk, it is required that users reindex all repositories in their nexus server to start benefitting from the changes (and for search to work properly).
To 1.8.0.1 Release from 1.8.0
No manual steps required.
To 1.8.0 Release from 1.7
No manual steps required.
To the 1.7 Release from any earlier Release
Sonatype has changed the local format of the lucene indexes, it is required that users reindex all repositories in their nexus server to start benefitting from the changes (and for search to work properly).
To the 1.6 Release from a 1.4 or 1.5 Release
Sonatype has changed the location of configuration files for the Java Service Wrapper startup scripts. If you are upgrading from a Nexus 1.5 instance to a Nexus 1.6 instance you will need to make sure that you are using the latest "nexus" script in the appropriate platform folder. If you previously installed Nexus on a Linux system and copied the ./bin/jsw/(platform)/nexus startup script to the /etc/init.d directory you will need to make sure that you copy the newer version of this nexus script (or create a symbolic link to the newer version of the script).
NOTE: It is not appropriate copy your existing wrapper.conf over the new wrapper.conf in 1.6.0. Sonatype has made significant changes to the configuration parameters and paths which are configured in the new wrapper.conf. If you have a customized wrapper.conf file, Sonatype recommends that you compare the existing file with the new wrapper.conf file shipped with Nexus 1.6.0 and merge each customization manually.
In addition to this simple configuration change, you should also take note of the additional platform now available in the ./bin/jsw directory: macosx-universal-64. If you are running Nexus on a 64-bit OSX platform, you should start using this startup script instead of macosx-universal-32.
To Releases after 1.0.0
There are no significant changes to system and upgrade is relatively easy. Simply unpack the bundle in the same folder that contains your nexus-webapp-xxx-bundle and sonatype-work folders. This will create a new folder called nexus-webapp-yyyy-bundle. Shutdown the old Nexus, switch any symlinks you may have and start Nexus from the new folder. That’s it.
To Release 1.0.1 from 1.0.0
There are no significant changes to system and upgrade is relatively easy. Simply unpack the bundle in the same folder that contains your nexus-webapp-1.0.0-bundle and sonatype-work folders. This will create a new folder called nexus-webapp-1.0.1-bundle. Shutdown the old Nexus, switch any symlinks you may have and start Nexus from the new folder. That’s it.
If you currently modify the host, ports or context in plexus.xml, these are now settable via environment properties. Simply set plexus-application-port, plexus-application-host or plexus-webapp-context-path in the env before starting Nexus. More details are shown on the FAQ page.
To Release 1.0.0 from 1.0.0-beta-5/5.1
In the Nexus betas, the configuration was stored in $basedir/runtime/apps/nexus/conf/nexus.xml and the configuration pointed to the nexus work folder, which had a default of $basedir/runtime/work/nexus. This made upgrades between versions troublesome as the work folder and config were located inside the path of the bundle and required manual moving of that data.
In 1.0+, this has been greatly simplified. The work folder has a new default of $basedir/../sonatype-work/nexus. That is, it is now a sibling of the bundle folder by default. The location can be overridden two ways: 1st by setting the PLEXUSNEXUSWORK environment variable to the work folder, or by editing the $basedir/conf/plexus.properties nexus-work variable. The first method is preferred as it eliminates the manual file moving/editing that was present in pre 1.0 betas.
The nexus.xml file is now located in the $nexus-work/conf/ folder. This means that it should actually be very easy in the future to upgrade as you can unpack the new bundle. Shutdown the old version and startup the new version without moving any files around.
If you are upgrading from an earlier beta version, you will need to take a few steps to get to the new 1.0 layout.
The default recommended configuration would look like this:/Nexus +--/nexus-1.0.0 +/runtime/apps/nexus
+--/sonatype-work +/nexus +/storage +/conf/nexus.xml
If this acceptable to you, then you would perform the following steps.
- Make a folder that will contain the work folder and the bundles (if you don’t already have one). We will refer to this as $nexushome in the instructions. We will refer to the current location of your nexus bundle as $nexus-beta-bundle
- Move (or copy) the contents of $nexus-beta-bundle/runtime/work/nexus to $nexushome/sonatype-work/nexus
- When this is done you should have $nexushome/sonatype-work/nexus/conf and $nexushome/sonatype-work/nexus/storage etc.
- Move (or copy) the $nexus-beta-bundle/runtime/apps/nexus/conf/nexus.xml to $nexushome/sonatype-work/nexus/conf
- Unpack the new 1.0 bundle in $nexushome. This should produce a folder called nexus-1.0.0-webapp-bundle in $nexushome.
- The startup scripts will be located in $nexushome/nexus-1.0.0-webapp-bundle/bin/jsw/NX:os folder
- You can now startup the new installation and it should find the work folder and upgrade the configuration.
If you want to specify another location for your work folder, perform the following steps.
We will refer to the current location of your nexus bundle as $nexus-beta-bundle
- define the environment variable PLEXUSNEXUSWORK to contain the value of your existing nexus-work folder. (this would be the location you previously specified in your nexus.xml file).
- Move (or copy) the $nexus-beta-bundle/runtime/apps/nexus/conf/nexus.xml to $PLEXUSNEXUSWORK/sonatype-work/nexus/conf
- Unpack the new 1.0 bundle in $nexushome. This should produce a folder called nexus-1.0.0-webapp-bundle in $nexushome.
- The startup scripts will be located in $nexushome/nexus-1.0.0-webapp-bundle/bin/jsw/[NX:os folder]
- You can now startup the new installation and it should find the work folder and upgrade the configuration.
To Release 1.0.0-beta-5/5.1 from 1.0.0-beta-4/4.2
The user passwords are stored with a new hash algorithm that is not compatible with earlier betas. This means that you must reset your admin and deployment passwords after upgrading. In this beta, you must login as the deployment user (default password "deployment123") to change its password.
Also note that if using Apache httpd, please review the httpd section of the Nexus FAQ
To Release 1.0.0-beta-4 to 1.0.0-beta-3
No manual steps required.
To Release 1.0.0-beta-3 from 1.0.0-beta-2
After starting the system, run "rebuild attributes" on all hosted repositories. This is done to migrate the checksums to the proper location in the repository data.
To Release 1.0.0-beta-2 From 1.0.0-beta-1
No manual steps required