Installing CloudBees CI on modern cloud platforms and CloudBees Analytics for the first time

3 minute read

Installations of CloudBees CI on modern cloud platforms can take advantage of the analytics capabilities of CloudBees Software Delivery Automation.

CloudBees provides a Helm chart to install the components required to enable end-to-end data flow from CloudBees CI to the analytics dashboards in CloudBees Software Delivery Automation.

The Helm chart:

  • Includes the CloudBees CI on modern cloud platforms and CloudBees CD Helm charts.

  • Preconfigures the URL for the server to which analytics events will be sent.

  • Installs the components needed for analytics: the CloudBees Analytics server, the webserver, the bound agent, and a MariaDB.

  • Automatically creates the Ingresses required to access CloudBees CI and CloudBees Software Delivery Automation analytics.

Important information

Before you install CloudBees Software Delivery Automation analytics, review the following important information:

  • The Helm chart installs the CloudBees CI operations center and the CloudBees Analytics components on the same Kubernetes cluster and in the same namespace.

  • Three new required plugins are installed: CloudBees Unified Data Plugin, CloudBees Unified UI Plugin, and CloudBees Platform Common Plugin.

  • CloudBees CD plugins are not installed.

  • The CloudBees CD artifact repository is not installed.

  • The required plugins for CloudBees Analytics are in the CloudBees Assurance Program. The plugins are installed when managed controllers or team controllers are provisioned.

  • The CloudBees Unified Data Plugin, the CloudBees Unified UI Plugin, and the CloudBees Platform Common Plugin are installed on both controllers and the operations center. There is no need to configure the CloudBees Platform Common Plugin on a controller because that plugin’s configuration in the operations center is automatically propagated to all connected controllers.

  • After installation, the credential needed to enable communication from CloudBees CI to CloudBees Analytics is configured automatically.

  • The Helm chart is located in the same repository as the CloudBees CI Helm chart: https://public-charts.artifacts.cloudbees.com/repository/public/

  • CloudBees recommends backing up your instance before performing these procedures.

Installing using the Helm chart

To install by using the Helm chart:

  1. Add the CloudBees Helm chart repository:

    helm repo add cloudbees https://public-charts.artifacts.cloudbees.com/repository/public/ helm repo update
  2. Create a namespace:

    kubectl create namespace cloudbees-sda kubectl config set-context --current --namespace=cloudbees-sda
  3. Create a custom value file named values.yaml with the following minimum content:

    ci: OperationsCenter: HostName: cloudbees-sda.example.com cd: ingress: host: cloudbees-sda.example.com
    If you omit the host name, you must manually register the CloudBees CD/RO URL in the CloudBees CI operations center and register the CloudBees CI URL in CloudBees CD/RO.

    You can add any additional options required for your environment. For example, you may need to add TLS information or ingress-nginx.

    For TLS configuration, you must configure the same information redundantly in the ci and cd sections. For example:

    ci: OperationsCenter: HostName: cloudbees-sda.example.com Ingress: tls: Enable: true SecretName: sda-tls cd: ingress: host: cloudbees-sda.example.com certificate: existingSecret: sda-tls

    For details about all the available options, see the readme files for the following Helm charts:

    helm show readme cloudbees/cloudbees-core helm show values cloudbees/cloudbees-flow
  4. Perform the installation:

    helm install cloudbees-sda \ cloudbees/cloudbees-sda \ -f values.yaml

Verifying the installation

  1. Type the following command:

    kubectl get po
  2. Verify that items with the following prefixes appear:

    • cjoc

    • flow-bound-agent

    • flow-devopsinsight

    • flow-server

    • flow-web

    • mariadb

    • managed controller names

Signing in to CloudBees CI on modern cloud platforms

  1. Type the following command to retrieve your administrative user password:

    kubectl exec cjoc-0 -- cat /var/jenkins_home/secrets/initialAdminPassword
  2. Open a browser to https://cloudbees-sda.example.com/cjoc/, replacing "cloudbees-sda.example.com" with your instance.

  3. Sign in with the username admin and the password you retrieved.

Verifying the connection to CloudBees Software Delivery Automation

You may need to sign in to CloudBees CD/RO and obtain a license to verify the connection.
  1. From your CloudBees CI operations center, go to Manage Jenkins  Configure System, and then scroll down to Connection to CloudBees Software Delivery Automation.

  2. In URL of the CloudBees Software Delivery Automation server, verify that the URL for the CloudBees Software Delivery Automation server has been configured. For example, `https://your.hostname/`. This should be the same as the CloudBees CI operations center URL minus the cjoc/ suffix.

  3. Check that Connected successfully is displayed.

Do not change the Allow analytics events to be sent and Send analytics events to this URL fields. These fields are populated automatically to enable analytics events to flow from CloudBees CI to CloudBees Software Delivery Automation.

Signing in to CloudBees Software Delivery Automation

  1. Follow the instructions in the Helm chart to obtain the password.

  2. Go to https://your.host/flow/, replacing "your.host" with your host name, and sign in using the user name admin and the password obtained from step 1.

  3. On the You do not have a license to CloudBees Analytics screen, click If you have a license add it here.

  4. On the Licenses screen, click There are no licenses.

  5. On the Import License screen, enter your license data. The license will be processed.

  6. In the left pane, select CI configurations.

  7. In the left pane, select Administration  Configurations  CI Configurations and verify that there is an entry for the CloudBees CI operations center URL.