Continuous integration

3 minute read

Continuous Integration (CI) is a DevOps software development practice that allows developers to check their code into shared repositories, using Source Control Management (SCM) tools such as GitLab or Bitbucket. CI tools invoke the jobs and automatically build and run unit tests on the latest code changes, helping you quickly find and address bugs, improve software quality, reduce time to validate, and enhance software updates.

With CloudBees Release Orchestration SaaS, you can configure your CI tool in your environment. You can configure your access credentials to the tool to access the repository. All authentication and credentials to the tools are captured and maintained in the admin backend, which runs in the cloud, maintained by CloudBees Release Orchestration SaaS. This is maintained in a separate cloud namespace specific to a client. All information except credentials is saved in the cloud database maintained by CloudBees Release Orchestration SaaS. This information, along with the credentials, is sent to the agent running on the client’s premise.

Configuring the continuous integration tool

You can configure any CI tool with CloudBees Release Orchestration SaaS.

To configure a CI tool:

  1. From the CloudBees Release Orchestration SaaS Home page, select Admin  Settings.

  2. Select Continuous Integration (CI) on the left pane.

  3. Enter a Tool Name.

  4. Select a Tool Type from the options.

  5. Enter the Tool URL.

  6. Enter the API Token to access the tool in the specified format.

  7. Select SAVE.

Your CI tool configuration is saved and listed on the right pane.

Configuring GitHub Actions

GitHub Actions is a CI/CD platform that you can configure in CloudBees Release Orchestration SaaS.

To configure GitHub Actions:

  1. From the CloudBees Release Orchestration SaaS Home page, select Admin  Settings.

  2. Select Continuous Integration (CI) on the left pane.

  3. Select GitHub Actions from the Tool Type options.

  4. Enter a Name.

  5. Enter the Tool URL.

  6. Enter the API Key to access the tool in the specified format.

  7. (Optional) Select Include all repositories.

  8. Select SAVE.

    GitHub Actions
    Figure 1. Configuring GitHub Actions

Your GitHub Actions configuration is saved and listed on the right pane.

Updating a configuration

You can update the CI configuration.

To update your CI configuration:

  1. From the CloudBees Release Orchestration SaaS Home page, select Admin  Settings.

  2. Select Continuous Integration (CI) on the left pane.

  3. Select a configuration on the right pane.

  4. Make any updates.

  5. Select Update.

Your CI configuration is updated.

Deleting a configuration

To delete your CI configuration:

  1. From the CloudBees Release Orchestration SaaS Home page, select Admin  Settings.

  2. Select Continuous Integration (CI) on the left pane.

  3. Select a configuration on the right pane.

  4. Select Trash can Delete.

  5. Select DELETE.

Your CI configuration is deleted.

Accessing the CI tool as a developer

CloudBees Release Orchestration SaaS enables developers to manage pipelines as needed for development and testing. These pipelines are not considered in any of the metrics in the CloudBees Release Orchestration SaaS dashboard and are often referred to as "developer pipelines" or "pre-merge pipelines".

Developers don’t have to manage a completely different set of CI tools for this purpose, as a user with the administrator role manages these tools, while controlling access to a specific set of CI tool jobs, or allowing developers to define pre-merge pipelines for development.

To grant developer access to a CI job:

  1. From the CloudBees Release Orchestration SaaS Home page, select Admin  Settings.

  2. Select Continuous Integration (CI) on the left pane.

  3. Select a CI tool on the right pane.

    Developer access
    Figure 2. Developer access
  4. Select Provide Developer Access.

  5. By default, the developer has access to all jobs in the selected CI tool, but you can limit access to specific jobs. To limit developer access to specific jobs:

    1. Select Specific Jobs.

    2. Select jobs from the options. These are the jobs the developer can access.

  6. Select SAVE.

Access to a CI job has been granted to a developer.

Integrating CloudBees CI and Jenkins

CloudBees CI and Jenkins can be included as CI tools along with other available CI tools.

Tool type menu
Figure 3. CI tool menu

You can access these tools two ways, either Public or Private:

  • If you choose Public for the Access Type, you must provide a username and password or an API token.

  • If you choose Private for the Access Type, you can connect by downloading and installing the provided plugin.

To integrate CloudBees CI and Jenkins:

  1. Download the plugin from the CloudBees CI System Configuration page.

    System configuration page
    Figure 4. The CloudBees CI system configuration page
  2. To install the plugin on a controller of operations center instance (Jenkins also follows the same steps), select Manage Jenkins  Manage Plugins  Advanced  Upload Plugin.

    Upload plugin dialog
    Figure 5. Plugin upload
  3. For plugin configuration, select Manage Jenkins  Configure System and search for CloudBees Release Orchestration SaaS.

CloudBees CI and Jenkins are integrated with CloudBees Release Orchestration SaaS. Once uploaded and configured, the plugin instance is displayed in Admin  Settings.