Native CI integration

3 minute readDeveloper productivityExtensibility

CI integration allows you to trigger a CI job as a release or pipeline task. These jobs become available as pipeline tasks after completing a one-time CloudBees CI controller configuration. Using the CloudBees CD/RO Jenkins plugin, you can also configure CI jobs as release tasks.

Configuring CloudBees CI controllers

Connections to individual CloudBees CI controllers, and optionally CloudBees CI operations centers, can be configured with a one-time CloudBees CD/RO setup. CloudBees CD/RO can call a CI job managed by the controllers as if it is native, automatically populating the job data and parameters from CI into CloudBees CD/RO.

To configure a CloudBees CI controller via the CloudBees CD/RO API, refer to CI configuration.
  1. On the CloudBees CD/RO main menu, select Administration  Configurations.

  2. Select CI configurations from the left-hand menu to display the CI configuration list.

  3. Select New. From here, create a new configuration or copy an existing one.

    By default, a CloudBees CI controller configuration is created.

    If the selected Type is CloudBees CI operations center, check whether you want to use this operations center as the default. If checked and a default is already configured, it is replaced by this one. All CloudBees CI controllers in that operations center are automatically discovered and populated into the configuration list.

  4. Under Credential type select either Local credential or External credential.

    1. For a local credential, type the user name and API token or password.

    2. For an external credential, select the credential project to use, and then the credential you want to use.

  5. Optionally, select the option to test the connection to the CI configuration server.

  6. Select OK when finished.

  7. If the new configuration is for the CloudBees CI operations center:

    1. Expand the list to discover all individual CloudBees CI controllers.

    2. Navigating into the list, select Copy for the controller you wish to move into the CI configurations list.

      ci ops center

      A New CI configuration dialog displays for that controller. Since Reuse the same credentials from the Operation Center CI Configuration is checked, the configuration pre-populates with sign-in credentials. Select OK to save.

Whether added directly or selected from the CloudBees CI operations center, the new configuration is added to the CloudBees CI controller configurations list and is available for CI Job tasks in CloudBees CD/RO pipelines.

Adding a CI Job as a pipeline or release task

Define a CloudBees CD/RO pipeline task as a CI Job specifying the CI configuration and other details about the CI job. Refer to Pipeline Tasks for general information about creating tasks.

To add a CI job via the CloudBees CD/RO API, refer to the createTask command.

When upgrading to CloudBees CD/RO v10.1 from an earlier release the existing URLs configurations are hardcoded with the /cjoc path component

Use these steps to create a CI Job as a task in an existing CloudBees CD/RO pipeline or release.

  1. Select Add task to add CI job to pipeline or release stage.

  2. Enter a task name in the New Task field.

  3. Click the Select Task Type link.

  4. Select CI Job from the list of task types.

  5. Click the Define link.

    • Choose a CI Job from the Select CI Configuration menu.

  6. Select OK

    edit task ci job

Viewing pipeline build data

Build details for CI jobs triggered by CloudBees CD/RO are sent back after the job completes.

Use the getCIBuildDetail command to get build details via the API.

To view the information:

  1. Navigate to the pipeline run of interest on the Pipeline Runs list.

  2. Expand the run via expand icon on the right of the list entry to refer to the underlying stages.

    ci view build data
  3. Click the View CI Build Data button.

    • Build Data for CloudBees CD/RO pipelines triggered by CI are denoted on the Pipeline Runs list with the Jenkins logo, as indicated in pipelines #1 and #2 below.

      To view the information sent by the post-build action from the CI process:

  4. Select the Jenkins logo on the CloudBees CD/RO Pipeline Runs list entry. The Jenkins Build Data screen appears.

  5. Select the Details icon on the right of build entry.

Build data console UI

The console output summary for the CI job appears as shown below.

Console for failed Jenkins build
Figure 1. Console output summary

Also on this screen are tabs for Build Artifacts and Test Results.

View the artifacts and test results
Figure 2. Build artifacts and test results

Known limitations

This section describes situations to be aware of when calling CI jobs from CloudBees CD/RO.

Infinite triggering loop

Care must be taken so that a given CloudBees CD/RO job doesn’t invoke a CI job having a post-build action that triggers the same CloudBees CD/RO pipeline; otherwise, an infinite triggering loop ensues.

Triggering the same CI job multiple times

During a given CloudBees CD/RO pipeline run a given CI job, unless it is configured with unique parameters, cannot be triggered more than once if there is already another CI build that is waiting in the queue.

CloudBees CD/RO pipeline run returns false success

The CloudBees CD/RO pipeline waits indefinitely instead of completing with an error if the target CI job is cancelled or aborted while waiting in the queue.