Skip to main content
Version: 3.9

Sonatype Nexus Repository OSS Integration

This documentation guide provides comprehensive instructions for integrating Sonatype Nexus Repository OSS (Nexus) with KubeRocketCI.

Prerequisites​

Before proceeding, ensure that you have the following prerequisites:

Installation​

To install Nexus in your environment, it's recommended to use the resources provided in the Cluster Add-Ons repository. This approach involves installing both the Nexus repository manager and the nexus-operator. Leveraging the Cluster Add-Ons simplifies the deployment and management process, providing a streamlined method to integrate Nexus into your infrastructure.

  1. Nexus Repository Manager: First, navigate to the Nexus section within the KubeRocketCI Cluster Add-Ons repository. Follow the instructions to deploy Nexus, ensuring it's correctly configured to serve as your artifact repository.

  2. Nexus-Operator: Then, proceed with the nexus-operator installation. The operator facilitates easier management and automation of Nexus, allowing for seamless updates, configuration changes, and monitoring.

Configuration​

To guarantee robust authentication and precise access control within the platform ecosystem, it's essential to establish a Service Account named ci.user. This account acts as a distinct identifier, enabling seamless integration and secure communication across the KubeRocketCI environment.

To create the Nexus ci.user and define repository parameters follow the steps below:

  1. Open the Nexus UI and navigate to Server administration and configuration -> Security -> User. Click the Create local user button to create a new user:

    Nexus user settings

  2. Type the ci-user username, define an expiration period, and click the Generate button to create the token:

    Nexus create user

  3. KubeRocketCI operates using a specific repository naming convention, where all repository names adhere to predefined standards. To align with this, navigate to Server administration and configuration -> Repository -> Repositories within Nexus. Here, repository creation is limited to those that match the required programming language, ensuring consistency and compliance with the KubeRocketCI framework.

    Nexus repository list

    a) Click Create a repository by selecting "maven2(proxy)" and set the name as "edp-maven-proxy". Enter the remote storage URL as "https://repo1.maven.org/maven2/". Save the configuration.

    b) Click Create a repository by selecting "maven2(hosted)" and set the name as "edp-maven-snapshot". Change the Version policy to "snapshot". Save the configuration.

    c) Click Create a repository by selecting "maven2(hosted)" and set the name as "edp-maven-releases". Change the Version policy to "release". Save the configuration.

    d) Click Create a repository by selecting "maven2(group)" and set the name as "edp-maven-group". Change the Version policy to "release". Add repository to group. Save the configuration.

  4. Provision secrets using manifest, EDP Portal or with the externalSecrets operator

Go to Portal -> Configuration -> ARTIFACTS STORAGE -> NEXUS. Update or click + ADD INTEGRATION fill in the URL, nexus-user-id, nexus-user-password and click the Save button:

Nexus update manual secret