Installing Nexus 2 / Nexus 3
Nexus comes bundled with a Jetty instance that listens to all configured IP addresses on a host (0.0.0.0) and runs on port 8081 by default.
Installing Nexus is straightforward. Unzip the Nexus bundle in a directory and start Nexus.
The following instructions are for installing Nexus as a standalone server and integrating it with TeamForge.
- Log on to the Nexus server.
Unzip the content to a directory of your choice.You can find two directories, a directory that contains Nexus installation files and folders (hereinafter referred to as
<nexus-install-directory>) and a Nexus work directory (hereinafter referred to as
<sonatype-work>is the default Nexus work directory. As a notation,
<nexus-work-directory>is used in place of
<sonatype-work>in this document.
Make sure you have full access permissions on all Nexus folders.
- This step is applicable only for Nexus 2. Open the command prompt and start Nexus.
Add the following token in the
<nexus-install-directory>/conf/nexus.propertiesfile and start Nexus:
nexus.ui.keepAlive=false ./bin/nexus start
Add the following token in the
<nexus-install-directory>\conf\nexus.propertiesfile and start Nexus:
nexus.ui.keepAlive=false \bin\nexus start
Verify if Nexus is running by accessing the URL:
- For Nexus 2:
<nexus host name>:port/nexus/index.html.
- For Nexus 3:
<nexus host name>:port/index.html.
Default port is 8081. In case you have multiple Nexus instances, modify the application-port token in
/<nexus-install-directory>/conf/nexus.propertiesfile for Nexus 2.
/<nexus-install-directory>/etc/nexus-default.propertiesfile for Nexus 3.
- For Nexus 2:
- Stop Nexus.
Upgrade Nexus 2 to Nexus 3
This section discusses how to migrate your repositories from Nexus 2 to 3 and the post migration steps.
Upgrade your Nexus 2 server to Nexus 3 following the instructions. See Upgrading Nexus.
Log on to the Nexus 3 server as a Site Administrator.
Click Realms from the Security section on the Administration menu.
Select TF Authentication Realm and TF Authentication Token Realm from the available list of realms.Note: Both the TF Authentication Realm and TF Authentication Token Realm will get listed in the available list of realms, only if you have already installed the TeamForge-Nexus 3 plugin. For installing the TeamForge-Nexus 3 plugin, see Installing the TeamForge-Nexus 3 Integration Plugin.
Add them to the list of active realms and click Save.
teamforgeProjectConfigurationfolder from Nexus 2 to Nexus 3.
If you have installed Nexus 3 on the same Nexus 2 server:
cp -r <nexus_2_data_dir>/sonatype-work/nexus/conf/teamforgeProjectConfiguration <nexus_3_data_dir>/sonatype-work/nexus3/etc/
If Nexus 2 and Nexus 3 are installed on separate servers:
scp -r user@<nexus_2_data_dir>/sonatype-work/nexus/conf/teamforgeProjectConfiguration user@<nexus_3_data_dir>/sonatype-work/nexus3/etc/
Copy the values of the TIME_TO_HOLD_USER_CACHE and TIME_TO_HOLD_PERMISSION_CACHE properties from the Nexus 2
ctf_nexus.propertiesfile to that of Nexus 3.
Location of the
ctf_nexus.propertiesfile in Nexus 2:
Location of the
ctf_nexus.propertiesfile in Nexus 3:
Change the application-port property in the
<nexus_3_data_dir>/nexus/etc/nexus-default.propertiesfile in Nexus 3.
nexus3_upgrade.shscript with the required arguments (see below) from the root path of the binary application to update the repository path and the IAF server name of Nexus 2 (against the Binary database) with that of Nexus 3.
sh bin/nexus3_upgrade.sh nexus2_app_name nexus3_app_name nexus3_repo_host_url
- nexus2_app_name: Integrated Application Framework (IAF) server name of Nexus 2
- nexus3_app_name: Integrated Application Framework (IAF) server name of Nexus 3
- nexus3_repo_host_url: Repository path of Nexus 3
Restart Nexus 3.
Delete the Nexus 2 application integrated with TeamForge.
Log on to TeamForge as a Site Administrator.
Select My Workspace > Admin.
Select Integrated Apps from the Projects menu.
Select the Binaries tab.
Select the Nexus 2 integrated app that you want to delete.
Click Delete or Force Delete.
Functional differences when TeamForge is integrated with Nexus 2 and Nexus 3
The following table illustrates the functional differences in TeamForge when integrated with Nexus 2 and Nexus 3.
|TeamForge with Nexus 3||TeamForge with Nexus 2|
|Clicking a repository link from the TeamForge Binaries page shows the repository in the Nexus application page on a separate browser tab||Behaviour similar to that of Nexus 3
TeamForge 18.1 (or earlier) with Nexus 2: When you click a repository link from the TeamForge Binaries page, the Nexus application page is loaded inside the TeamForge Binaries page
|When you click Create Repository from the TeamForge Binaries page, it redirects you to the Nexus application to create the repository||When you click Create Repository from the TeamForge Binaries page, the Create Repository page is loaded within the TeamForge Binaries page|
|Not supported||You can use the Include Traceability (with which you can configure the repository to publish Nexus runtime events to EventQ after a binary artifact repository is created) functionality from the Project Admin > Tools > Binaries page. For more information, see Configure Traceability for Binary Artifact Repositories
TeamForge 18.1 (or earlier) with Nexus 2: The Configure Traceability feature (Project Home > Binaries) was used to configure the repository and track the binary artifacts
|All users with permission to create binary repositories can link repositories||Only site administrators can link repositories|
|You can create new repositories, update or delete existing repositories and do other repository management activities only from within the Nexus application (with TeamForge's RBAC)||
|Roles and permissions are mapped/created automatically during the Nexus 2 to Nexus 3 migration and during repository creation||Not supported|
|You can link TeamForge to different types of Nexus repositories - Maven, Docker, NuGet, and so on||You can link TeamForge only with Maven repositories|
|You can link the repository groups from Nexus to TeamForge from the Binaries page||Linking of repository groups is not supported|