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 OpenText Functional Testing. |
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 SDP 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 SDP integrations, and particularly CI/CD server integrations, use the SSL protocol.
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 SDP. 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:
|
Install the CI plugin on your CI server |
The plugin enables OpenText Core SDP 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 SDP-OpenText Functional Testing 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 SDP 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.
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:
-
Open the Settings menu , click Spaces, and select a workspace.
-
Go to the DevOps tab, and select the server type from the list: CI Servers or CD Servers.
-
In the grid, add a server and provide server details.
Type Details CI server -
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.
-
-
Click Add.
CD server -
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.
-
Click Test Connection. If the connection is successful, click Add.
-
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.
-
Open the Settings menu , click Spaces, and select a workspace.
-
Go to the DevOps tab and select CI Servers or CD Servers.
The list displays all servers that were previously connected.
-
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 SDP.
-
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 SDP is going to be disconnected for maintenance and you want to reduce overload on the CI server during that time.
Next steps: