Home / Platform management / DevOps toolchain / Tool deployment and upgrade / Deploy Nexus

Deploy Nexus

Nexus is an open source software management tool that can be used to store, manage, and distribute artifacts.

Cautions

Prerequisites

Storage

Create a StorageClasses in storage management. The StorageClasses supported by this tool are CephFS File Storage and NFS.

Tip: After deleting the tool created by the function, the PVC bound to the tool will still remain.

On-premise deployment

  1. In the left navigation bar, click DevOps Toolchain > Instances.

  2. Click Create Instance.

  3. On the Deploy and Integrate page, select Nexus.

  4. In the Location area, select the Clusters and Namespaces where the tool to be deployed is located.

    • Clusters: Please select the DevOps tool deployment cluster in the drop-down box according to business needs.

    • Namespaces: Select the namespace for deploying the DevOps tool from the dropdown menu based on business requirements.

  5. In the Resources section, choose from Recommended configuration, Minimum setting, and Custom scale. When selecting Custom scale, ensure that the resources entered do not exceed the maximum resource requirements for the selected namespace.

    • Resource Requests: Minimum resources required for running the tool.

    • Resource limit: Maximum resources that can be consumed by the tool during runtime.

  6. In the Storage section, select the storage method.

    Caution: Storage configuration cannot be modified after instance creation.

    Storage Method Description
    Available PVCs Select an existing PVC Name to request PVC as storage resource or click the Create PVC button on the right-hand side of the selection box to create a new PVC in a new page.
    Tip: Storage class only supports CephFS File Storage and NFS. When selecting access mode, ReadWriteMany (RWX) mode is recommended.
    Node storage Select an existing Node Name and corresponding Storage path in the node to request local storage as storage resource.
    Caution:
    • To avoid mounting failure, ensure that the path has not been used.
    • When deploying tools in a public cloud cluster, it is important to follow the cloud platform’s requirements for storage and networking.
  7. In the Networking section, configure the network for the tool to be deployed.

    Caution: If there are dual NIC nodes in the cluster where the tool is to be deployed, check whether the default load balancer IP address or node IP address used in the service access address can be accessed outside the cluster. Otherwise, the tool cannot be accessed normally after deployment, and the error message “check xx alive failed” will appear.

    Network Mode Parameter Description
    Ingress
    Domain Name Select an existing domain name resource in the platform under Network > Domain Name. Alternatively, enter an existing domain name resource in the platform.
    Protocol Supports selection of HTTP and HTTPS protocols.
    Certificate When selecting the HTTPS protocol, select a certificate that matches the domain name in the certificate box. The certificate can be sourced from Platform Allocation or Secret Dictionary Import.
    • Platform Allocation refers to creating a certificate in the management view of the container platform and allocating it to the specified project.
    • Secret Dictionary Import refers to creating a secret dictionary of type TLS in the container platform.
    Click Create Certificate and fill in the following form in the pop-up window to create a certificate.
    • Name: Enter the name of the certificate. The certificate cannot be updated after creation.
    • Public Key: Click and select the certificate public key to import (binary files are not supported) in the pop-up window. After importing, the certificate public key (tls.crt) will be filled in the text box. Manual input is also supported.
    • Private Key: Click and select the private key to import in the pop-up window (binary files are not supported). After importing, the private key (tls.key) will be filled in the text box. Manual input is also supported.
    Node Port When selecting the Node Port network mode, you need to fill in the HTTP port, with an input range of `30000 - 32767`; at the same time, you need to fill in the SSH port, with an input range of `30000 - 32767`.
    Service Access Address The service access address will be automatically generated based on the network mode you choose. When you choose the Ingress mode, the access address is generated according to the rule `http://{Ingress name}` or `https://{Ingress name}`. When you choose the Node Port mode, the access address is generated according to the rule `http://{cluster address:port}`. If you need to modify the service access address, click and fill in the service access address in the **Update Access URL** pop-up box.

    Note: Please update the service access address with caution. After updating, external settings such as DNS resolution need to be configured to access the service normally. This update only applies to the current network setting state. When the network setting changes again, the service access address will be automatically replaced with the restricted value.
  8. In the Integration area, enter an integration name that will help the project members to identify and select this tool in DevOps.

  9. After the configuration is complete, click Deploy and Integrate.

    The instance integrates into the plaftform automatically.

Public cloud deployment

It is recommended to open a virtual machine and deploy a public cloud cluster before deploying DevOps tools, and use the same storage and network solution as the native cluster. In this way, the tools and capabilities supported for deployment are synchronized with the native cluster deployment tools.

Verification

Once the deployment status become Deployed, verify the tool’s accessibility by accessing the URL.

Note: If you encounter issues with tool instances not starting properly due to insufficient permissions to operate on the storage service when deploying using the azurefile-csi-nfs StorageClass on an Azure AKS cluster, please refer to FAQ . After adding the necessary permissions to the respective role, redeploy the instances.

Due to the special nature of the Nexus tool, setting the initial password is not supported during rapid deployment and integration. You can use the following method to obtain Nexus credentials for accessing resources within the tool and assigning them to projects.

  1. Obtain the initial password.

    1. Use the command line to enter the deployed Nexus cluster.

    2. Execute the following command to log in to the Nexus pod: kubectl exec -it {Nexus pod name} sh -n {namespace name}. For example: kubectl exec -it nexus-demo-7ccc76cc6b-468t sh -n namespace-devops.

      Tip: You can execute the following command to obtain the Nexus pod name: kubectl get po -all-namespaces | grep nexus; you can refer to the Location in the operation steps to obtain the Namespace Name.

    3. Enter the directory where the password is located: cd /nexus-data/.

    4. View the initial password: cat admin.password | xargs echo.

  2. Log in to Nexus for the first time and change the password.

    1. In the left navigation bar, click DevOps Toolchain > Integrations.

    2. Click on the Nexus that you have deployed and integrated quickly.

    3. Click on the Instance Name on the right side of Instance.

    4. In the Basic information section, click on the access link on the right side of Product Entrance to enter the web page of the Nexus tool.

    5. Click on Sign in in the upper right corner, fill in the account and password in the pop-up window. The default account is: admin, and the password is the one obtained in the Get Initial Password step.

    6. When logging in to Nexus for the first time, the system will prompt you to change your password. Please follow the system requirements to change your password and save your account and password.

What’s next