Skip to main content

Changes during the Upgrade Process

The wizard includes the following configurations in the upgrade.

  • Supported Configuration
    Active Security Realms
    Anonymous Access Settings
    Atlassian Crowd Settings
    HTTP Proxy Settings
    LDAP Settings
    NuGet API Keys
    Privileges
    Repository Health Check
    Role Mappings for LDAP/Crowd
    Roles
    SSL Certificates feature
    Users
    User Tokens
  • Supported Formats

    Maven2, npm, NuGet, Site Repositories, RubyGems

    (This does not include Maven2 staging repositories)

  • Repository Firewall Configuration

    Repositories keep items in quarantine. Changes to quarantined items are updated through the synchronization upgrade step.

  • Component Metadata

    uploaded_by, uploaded_by_ip, uploaded_datelastModified

Changes to Data During Upgrade Process

Nexus Repository 3 uses a different architecture from Nexus Repository 2; e core changes to data occur as part of the upgrade process.

  • NuGet API Keys

    The upgrade tool adds all keys from Nexus Repository 2 even when the realm is not active.

  • Content Storage

    Nexus Repository 2: stores content directly on the filesystem in folders while Nexus Repository 3 uses a blob store format to work with more formats and storage options.

    Nexus Repository 3: iterates over every component stored in Nexus Repository 2. This is the bulk of the time required for the upgrade process.

    See Storage Planning

  • Settings and Metadata

    Nexus Repository 2: settings and component metadata are stored across many files.

    Nexus Repository 3: loads equivalent data into the database.

  • Component URLs

    Nexus Repository 2: uses a different URL pattern to expose repositories and repository groups.

    Nexus Repository 3: includes a capability to allow your automated tools and CI to use the old URL patterns.

    See Legacy URL Paths

  • Roles

    Roles from Nexus Repository 2 are assigned a Role ID that starts with nx2-.

    Role descriptions have Legacy appended to their description.

  • Repository Targets

    Repository targets from Nexus Repository 2 are converted to content selectors in Nexus Repository 3.

    Repository targets are based on regular expressions; these are converted to Content Selector Expression Language (CSEL).

  • Repository IDs

    Nexus Repository 3 uses the Repository ID defined in Nexus Repository 2 as the Name for the upgraded repository; they define the access URL in both cases. The user-facing Repository Name from Nexus Repository 2 is dropped during the upgrade since there is no equivalent feature in Nexus Repository 3.

    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: myrepoid vs Myrepoid). To resolve the ID conflict review and change any IDs in version 2 to distinguishable names.

  • HTTP(S) Proxy Configuration

    Your HTTP or HTTPS proxy settings for Nexus Repository 2 may not be valid for your Nexus Repository 3 environment. You must configure your HTTP or HTTPS proxy settings in Nexus Repository 3 to upgrade them.

    If HTTP or HTTPS proxy settings are enabled in your source Nexus Repository 2, the upgrade to your target Nexus Repository 3 might fail because the target can not communicate with the source repository manager. This could happen if Nexus Repository 3 could not find a Nexus Repository 2 proxy server in place.

    If you enabled Nexus Repository 2 HTTP or HTTPS settings during an upgrade, Nexus Repository 3 would use its original HTTP or HTTPS settings and ignore the settings in place for Nexus Repository 2.

    Nexus Repository 3 generates a warning in the log when this error occurs.

    Skipping HTTP(S) proxy settings, connection to Nexus 2 failed using new settings. Please manually configure the HTTP proxy settings after the upgrade is done.

Not Included in the Upgrade

The following items are not included in the upgrade:

Unsupported repository formats: Yum Maven1, P2, OBR
Capabilities 
Custom branding
Custom edits to logback.xml configuration files
Environment variables
Java VM settings
Manual edits to files in the installation directory
Operating system service scripts
Operating system optimization
Routing rules
Scheduled tasks
Staging repositories, settings, or configuration
The admin user's password
Third-party or custom-developed plugins
Virtual repositories
  • Yum Repositories from Nexus Repository 2

    RPMs stored in Yum-enabled Maven2 repositories on Nexus Repository 2 can only be moved to Maven2 repositories in Nexus Repository 3. Yum-related capabilities must be disabled on the Maven2 repository first. There is no automatic option to move RPMs in Nexus Repository 2 Maven2 repositories into Yum format repositories in Nexus Repository 3.

  • P2 Repositories from Nexus Repository 2

    We recommend producing the final P2 static site using your build pipeline and publishing the final site to a raw format hosted repository in Nexus Repository 3.

    Use the repository import to import P2-hosted repo content into a raw repository.