CloudBees CI installations on modern cloud platforms can integrate CloudBees Analytics to track critical CloudBees CI metrics. Using CloudBees Analytics, you can create, view, and export reports based on realtime performance metrics collected from your CloudBees CI environment.
On modern cloud platforms, CloudBees Analytics is bundled as part of the CloudBees CD/RO Helm charts. To install CloudBees Analytics, you must install CloudBees CD/RO. |
The CloudBees CD/RO Helm chart includes the following components:
-
CloudBees Analytics server
-
CloudBees CD/RO web server
-
CloudBees CD/RO bound agent
-
Built-in MariaDB database
Additionally, ingress configurations for communication between CloudBees CI and CloudBees Analytics are included.
The CloudBees CD/RO version installed as part of this process is only a demo version. CloudBees CD/RO plugins and the CloudBees CD/RO artifact repository are not installed as part of this deployment. Additionally, CloudBees CD/RO is installed with only the local bound agent and the built-in database to support CloudBees Analytics by retrieving data from CloudBees CI. This configuration is not designed for running jobs within CloudBees CD/RO and cannot support a CloudBees CD/RO production environment. To install a CloudBees CD/RO production environment, an enterprise license specifically for it. For more information on licenses, refer to Licenses, or contact your CloudBees sales representative. |
Important information
Before you install CloudBees Software Delivery Automation analytics, review the following information:
-
An NGINX Ingress is required in the cluster to provide a centralized entry point for application traffic. Both CloudBees CI and CloudBees CD/RO require the ingress for communication as part of CloudBees Software Delivery Automation.
You can install and configure your own ingress-nginx, or use the built-in CloudBees CD/RO ingress-nginx. Instructions to use the CloudBees CD/RO ingress are included in Install CloudBees CD/RO Helm chart.
If you are using your own ingress-nginx, you must also complete the instructions in Configure ingress-nginx for CloudBees CD/RO. -
Before you proceed with this process, ensure you are using CloudBees CI version 2.263.4.2 or later.
If you are not using CloudBees CI version 2.263.4.2 or later, you must update to a CloudBees Software Delivery Automation supported version prior to performing these steps. -
CloudBees recommends backing up your instance before performing these procedures. While this process should not affect any data, a backup may be required to prevent data loss if cluster issues arise.
-
This process installs CloudBees CD/RO and CloudBees Analytics on the same Kubernetes cluster and within the same namespace as your CloudBees CI deployment. You must have the necessary cluster permissions to complete this process.
-
For CloudBees CI, the following plugins are required:
-
CloudBees Unified Data Plugin
-
CloudBees Unified UI Plugin
-
CloudBees Platform Common Plugin
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.
-
-
For CloudBees Analytics, the required plugins are included in the CloudBees Assurance Program, and are automatically installed when managed controllers or team controllers are provisioned.
-
During Helm chart configuration, you must configure the credentials required to enable communication between CloudBees CI and CloudBees Analytics. This step is described in the CloudBees CD/RO chart configuration section.
Add CloudBees Analytics
There are multiple processes involved to install CloudBees Analytics as part of CloudBees Software Delivery Automation. You must successfully complete each in the following order:
These sections must be completed in order. Each section relies on variables and values from previous steps. Executing them out of order may cause commands to fail or produce unexpected results. |
Configure CloudBees CI for CloudBees Software Delivery Automation mode
This section describes the steps needed to configure CloudBees CI for CloudBees Software Delivery Automation mode. To do so:
-
Set the following required CloudBees CI variables:
-
Log in to your CloudBees CI instance.
-
Scroll to the bottom of the screen, and copy your CloudBees CI version.
-
Assign this value to
CI_VERSION
:CommandExampleCI_VERSION="<YOUR-CI-VERSION>"
CI_VERSION="2.492.1.3"
-
Get and assign your CloudBees CI Helm chart version by running:
CI_CHART_VERSION=$(helm search repo cloudbees/cloudbees-core --versions \| grep $CI_VERSION \| awk '{print $2}')
-
Set the following variables:
CI_RELEASE_NAME="<YOUR-CURRENT-CI-RELEASE>" CI_NAMESPACE="<YOUR-CI-NAMESPACE>"
-
-
Create a local copy of your existing CloudBees CI Helm values by running:
helm get values $CI_RELEASE_NAME -n $CI_NAMESPACE --all > ci-core-values.yaml
-
Upgrade your CloudBees CI chart to enable CloudBees Software Delivery Automation by running:
helm upgrade $CI_RELEASE_NAME cloudbees/cloudbees-core -f ci-core-values.yaml --set sda="true" --version $CI_CHART_VERSION -n $CI_NAMESPACE
Configure ingress-nginx for CloudBees CD/RO
If you installed CloudBees CD/RO using the built-in ingress-nginx, this configuration is already included as part of the installation, and you do not have to perform the steps in this section. |
This section describes the steps needed to configure your ingress-nginx deployment for CloudBees CD/RO. To do so:
-
Set the following variables:
INGRESS_RELEASE_NAME="<YOUR-INGRESS-NGINX-RELEASE-NAME>" INGRESS_NAMESPACE="<INGRESS-NGINX-NAMESPACE>" INGRESS_CHART_VERSION="<INGRESS-NGINX-CHART-VERSION>"
-
Create a local copy of your existing
ingress-nginx
values file by running:helm get values $INGRESS_RELEASE_NAME -n $INGRESS_NAMESPACE > ingress-nginx-values.yaml
-
Open your
ingress-nginx-values.yaml
, and add/update the following section:tcp: 8200: "{{ .Release.Namespace }}/flow-repository:8200" 8443: "{{ .Release.Namespace }}/flow-server:8443" 61613: "{{ .Release.Namespace }}/flow-server:61613"
These are the default values required by CloudBees CD/RO. If they are already in use, you must resolve any port conflicts. -
Ensure the file is properly formatted and save.
-
-
Upgrade your
ingress-nginx
deployment by running:helm upgrade $INGRESS_RELEASE_NAME ingress-nginx/ingress-nginx -f ingress-nginx-values.yaml --version $INGRESS_CHART_VERSION -n INGRESS_NAMESPACE
Configure CloudBees CD/RO for CloudBees Software Delivery Automation mode
This section describes the steps needed to install CloudBees CD/RO/CloudBees Analytics deployment for CloudBees Software Delivery Automation mode. To do so:
-
Create a copy of the following CloudBees CD/RO values file named
cdro-analytics-values.yaml
:The following instructions/commands use cdro-analytics-values.yaml
. If you do not use this name, substitute your values file name.cdro-analytics-values.yaml
ingress-nginx: # ingress-nginx.enabled set to true would install its own copy of the ingress controller enabled: false controller: ingressClassResource: name: "nginx" repository: # repository.enabled need not be set for Analytics (only used by full CD/RO) enabled: false web: # web.sharedPluginEnabled need to be set to # avoid the requirement for shared storage between flow-web and flow-server sharedPluginEnabled: false # clusteredMode need not be set for Analytics (required for full CD/RO in production) clusteredMode: false database: dbName: "flowdb" dbUser: "flow" dbType: "mariadb" dbPort: 3306 clusterEndpoint: "mariadb" mysqlConnector: enabled: false mariadb: # mariadb.enabled and associated flags preconfigure the Analytics services to use in-cluster MariaDB (external RDB required for full CD/RO in production) enabled: true db: user: "flow" # sda activates flags in the cloudbees-flow chart to start up by default in SDA mode, # work in a single namespace & ingress host with CloudBees CI, and preconfigure the location of CI operations center sda: true ingress: class: "nginx" # Update your CloudBees SDA URL host: cloudbees-sda.example.com certificate: existingSecret: sda-tls
-
Create a local copy of your existing CloudBees CI Helm values by running:
helm get values $CI_RELEASE_NAME -n $CI_NAMESPACE --all > ci-core-values.yaml
-
Open your
ci-core-values.yaml
, and use it to update the following values in thecdro-analytics-values.yaml
:-
Update the
ingress.certificate.existingSecret
value with the value ofOperationsCenter.Ingress.tls.SecretName
fromci-core-values.yaml
. -
Update the
ingress.host
value with the value ofOperationsCenter.HostName
fromci-core-values.yaml
. -
Update the
ingress.class
value with the value ofOperationsCenter.Ingress.Class
fromci-core-values.yaml
. -
Ensure your values file is properly formatted and save.
-
-
Install CloudBees CD/RO with CloudBees Analytics by running:
helm install cloudbees-flow cloudbees/cloudbees-flow -f cdro-analytics-values.yaml -n $CI_NAMESPACE --timeout 10000s
-
Once the installation is complete, a prompt appears to retrieve your CloudBees CD/RO password. Run the following command to retrieve it:
kubectl get secrect --namespace flow cloudbees-cd-demo-flow-credentials -o jsonpath="{.data.CBF_SERVER_ADMIN_PASSWORD}" | base64 --decode; echo
-
This password is required when you initially log into CloudBees CD/RO. Store it in a safe place.
-
You have now completed the installation of all components to use CloudBees Analytics for CloudBees CI. To verify the installation, refer to Verify your cluster installation.
Verify your cluster installation
-
Run the following command for your Kubernetes cluster:
kubectl get pods
-
Verify pods with the following prefixes appear:
-
cjoc
-
flow-bound-agent
-
flow-analytics
-
flow-server
-
flow-web
-
mariadb
Additionally, ensure that pods corresponding to your managed controllers are also present. -
Next, verify the CloudBees Software Delivery Automation connection CloudBees CI by following the instructions in Verify your CloudBees Software Delivery Automation connection.
Verify your CloudBees Software Delivery Automation connection
-
From your CloudBees CI operations center, go to
, and then scroll down to Connection to CloudBees Software Delivery Automation. -
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 thecjoc/
suffix. -
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. |
Next, sign in to CloudBees Software Delivery Automation, set up your license, and verify your CloudBees CI connection by following the instruction in Sign in to CloudBees Software Delivery Automation.
Sign in to CloudBees Software Delivery Automation
-
Go to
https://your.host/flow/
, replacingyour.host
with your host name, and sign in using the usernameadmin
and the password obtained after installing CloudBees CD/RO. If you need the password, run the following command to retrieve it:kubectl get secrect --namespace flow cloudbees-cd-demo-flow-credentials -o jsonpath="{.data.CBF_SERVER_ADMIN_PASSWORD}" | base64 --decode; echo
-
On the You do not have a license to CloudBees Analytics screen, select If you have a license add it here.
-
On the Licenses screen, select There are no licenses.
-
On the Import License screen, enter your license data. The license will be processed.
-
In the left pane, go to
, and verify that there is an entry for the CloudBees CI operations center URL.
CloudBees strongly suggests to update the
|
Upgrade CloudBees CI components
After configuring CloudBees CI as part of CloudBees Software Delivery Automation, upgrading CloudBees CI and its components follows the same process as a standard CloudBees CI upgrade. For more information, refer to Upgrading CloudBees CI on modern cloud platforms.
Upgrade CloudBees CD/RO components
After configuring CloudBees CD/RO as part of CloudBees Software Delivery Automation, upgrading CloudBees CD/RO and its components follows the same process as a standard CloudBees CD/RO upgrade. For more information, refer to Upgrade Kubernetes on Kubernetes.