Set up CI/CD integration

Set up the connection to your CI/CD server.

Overview

Integrating with CI/CD servers lets you do the following.

Type Details
CI

Integration with CI servers is the basis for working with pipelines in OpenText Core Software Delivery Platform, and for integrating with UFT One.

CD

Integration with CD servers helps you automate the deployment of application changes using release process auto actions.

To enable the integration with CI/CD tools, follow the CI integration prerequisites. You can then download, install, and configure the CI plugin that enables the integration with your CI server. For details on integrating with a Jenkins CI server, see Jenkins integration. For details on integrating with all other supported CI servers, see CI server integration.

After the plugin has been configured, add the CI/CD servers and their URLs. For details, see Add CI/CD servers.

Caution:  

  • The permission mechanism is not synchronized with the permission mechanism of the CI/CD server. Therefore, OpenText Core Software Delivery Platform users might have access to information from the CI/CD server that they would otherwise not be authorized to access, such as log files and stack traces.

  • All OpenText Core Software Delivery Platform integrations, and particularly CI/CD server integrations, use the SSL protocol.

Back to top

CI integration prerequisites

To enable integration with CI/CD tools, the following is required.

Prerequisite Description
API access

Ask your space admin for an API access Client ID and Client secret. The plugin uses these for authentication when communicating with OpenText Core Software Delivery Platform.

The access keys must be assigned the CI/CD Integration role in all relevant workspaces. For details, see API access.

CI server access

Obtain access to a CI server that meets the necessary requirements. For the CI server integrations that are supported by the plugins, see Support Matrix.

The following is required to set up an integration with a CI server:

  • Proxy and connectivity. To enable communication with the CI server, make sure that the CI server can access the Internet. If your network requires a proxy to connect to the Internet, set up the required proxy configuration.

  • Network. The CI integration uses HTTP long polling where the CI Plugin initiates an HTTP request to the server. For the integration to work, the CI server needs to be able to perform HTTPS calls on the OpenText Core Software Delivery Platform server (the reverse is not required). OpenText Core Software Delivery Platform does not require you to open an on-premises firewall for CI integration, since there is no direct communication back to the on-premises CI server.

  • CI server user. Decide which CI server user to use to access the CI server and run the job. For Azure DevOps Server (TFS), this is the Personal Access Token (PAT). For details, see CI server user or PAT permissions.

Install the CI plugin on your CI server

The plugin enables OpenText Core Software Delivery Platform to retrieve and display your CI server's build pipelines, synchronize test run results with the CI server, and trigger pipeline runs on the CI server.

For Jenkins CI servers, see Jenkins integration.

For all other supported CI servers, see CI server integration.

CI server user or PAT permissions

The CI server user or PAT must have the following permissions:

CI server Permissions
Bamboo Build plan
Jenkins, for working with pipelines Job Build

Jenkins, for OpenText Core Software Delivery Platform-UFT One integration without pipelines

Job Create, Delete, and Read

If your SCM repository requires credentials, Credentials create and update permissions are also required. This is so that OpenText Core Software Delivery Platform can save the SCM access credentials you provide on the Jenkins server.

Azure DevOps Server (TFS)

Read permissions for: Build, Code, Project and team, Test management

Execute permissions for Build

GoCD View permissions, and permissions to run a pipeline.
Azure

Read and Execute permissions for Build

Caution: We recommend limiting this user’s permissions to the minimum required for this integration.

Back to top

Add CI/CD servers

To integrate with CI/CD servers, the CI/CD servers and their URLs must be added.

To add a CI/CD server:

  1. Open the Settings menu , click Spaces, and select a workspace.

  2. Go to the DevOps tab, and select the server type from the list: CI Servers or CD Servers.

  3. In the grid, add a server and provide server details.

    Type Details
    CI server
    1. Click the Add CI Server button , and define the following fields:

      • Name: Enter a name for the CI server.
      • URL: Select the URL from the list of servers.

        Note the following:

        The list displays all servers that meet the following conditions:

        • The server has the required CI plugin installed and configured.

        • The API Access keys that the plugin is using are assigned the CI/CD Integration role in the current workspace.

    2. Click Add.

    CD server
    1. Click Deployment Automation Server, and define the following fields:

      • Name: Enter a name for the CD server.
      • URL: Enter the CD server URL.
      • User name and Password: Provide credentials you use to access the CD server.

        Note: Ensure that a server user whose credentials you enter has permissions to run processes on the CD server.

    2. Click Test Connection. If the connection is successful, click Add.

Back to top

Manage CI/CD servers

In the list of servers, you can add or remove CI/CD servers, view information about each server, and suspend or resume the connection to the server.

Open the list of servers

This list provides information about the servers' status, type and URL.

  1. Open the Settings menu , click Spaces, and select a workspace.

  2. Go to the DevOps tab and select CI Servers or CD Servers.

    The list displays all servers that were previously connected.

  3. Select the columns that you want displayed. For each CI server, you can see:

    • Whether the server is currently connected.

    • The server type.

    • The version of the plugin installed on the server, or the SDK version used to develop the plugin.

      Keep your plugin up-to-date to benefit from all the latest enhancements and functionality. If your SDK version is outdated, a status icon is displayed, and functionality is impaired.

    • A link to the server's URL.

      For this link to work properly, your server must have its Site URL properly configured.

    Note: When the URL of a CI server changes, the change is reflected automatically after a slight delay. You do not need to update the URL directly in OpenText Core Software Delivery Platform.

Suspend and resume data transfer from Jenkins

Instruct a selected Jenkins CI server to stop sending information. This includes information such as pipeline runs, test runs, SCM commits, and code coverage data.

A suspension may be useful in the following situations:

  • Your CI server is undergoing maintenance and you don't want experimental data to be sent.

  • You are investigating unexpected behavior on your CI server and you want to isolate the server.

  • The network between your CI server and OpenText Core Software Delivery Platform is going to be disconnected for maintenance and you want to reduce overload on the CI server during that time.

Back to top

Next steps: