CI server integration
When setting up a non-Jenkins CI server for OpenText Core Software Delivery Platform for the first time, install the relevant plugin on your CI server and configure the connection.
Note: For details on setting up a Jenkins CI server, see Jenkins integration.
Plugin overview
The CI plugin enables the integration with a CI server.
The CI plugins provide the following capabilities:
-
Retrieve and display the build pipelines that run on the CI server
-
Trigger pipeline runs on the CI server
-
Retrieve build run results, test run results, and commit information from the CI server
Make sure your CI server meets the necessary requirements. For details, see CI integration prerequisites.
Install the plugin
Download the relevant plugin from the Internet and install it on your CI server.
Plugin | Description |
---|---|
Jenkins |
For details, see Jenkins integration. |
TeamCity |
In your TeamCity server's user interface, open the plugin management area and upload the TeamCity plugin:
|
Bamboo |
In your Bamboo server's user interface, open the add on management area and upload the Bamboo plugin:
|
Azure DevOps Server (TFS) |
Run the downloaded MSI on your Azure DevOps Server (TFS) machine to install the Azure DevOps Server (TFS) plugin. |
GoCD | Download the GoCD plugin's .jar file and store it on your GoCD server in <GoCD server folder>/plugins/external/. |
GitLab |
Run the Java command line as described in GitLab CI service. The application uses the GitLab API to get events from GitLab |
Azure DevOps Server (2019 and later) Azure DevOps Services (VSTS) |
The app service supports Azure DevOps Server (previously TFS). The extension integration supports Azure DevOps Server 2019 and later, and Azure DevOps Services. Within Azure:
For details refer to the extension's readme file. |
GitHub Actions | Configure the workflow as described in the integration's readme file. |
PulseUno | No plugin is required. The CI server integration is a core part of PulseUno. |
Other CI servers | For CI servers not listed above, build your own plugin in Java using the CI Plugin SDK available on GitHub. |
Note:
-
If you activate or deactivate the plugin at any time after installation, you must restart your CI server (TeamCity, Bamboo).
-
To update or reinstall the Azure DevOps Server (TFS) plugin, you must first stop the Azure DevOps Server (TFS) Windows service: Visual Studio Team Foundation Background Job Agent. Restart the service after the plugin is updated.
Configure the plugin
After installing the plugin on your CI server, configure the plugin to access OpenText Core SDP and, if necessary, the CI server.
Note: After installing the plugin and before configuring it, wait for the CI server to restart (TeamCity), refresh the add-on management page (Bamboo), or restart the CI server (Azure DevOps Server/TFS, GoCD).
To configure a plugin:
-
Open the plugin's configuration area and perform the following.
CI server Description TeamCity In your TeamCity server's user interface, locate the configuration area for the plugin:
- Go to Administration.
- Under Server Administration, click ALM Octane CI Plugin.
Bamboo In your Bamboo server's user interface, locate the configuration area for the plugin:
-
Click the Administration cogwheel button and select Add-ons from the menu.
-
Under Communication, click Application Automation Tools Plugin.
Azure DevOps Server (TFS) On your Azure DevOps Server (TFS) machine, access the plugin's console:
- Go to http://localhost:4567.
- Click Configuration.
For more details, see the plugin readme file.
GoCD In your GoCD server's user interface, open Admin > Plugins.
Click the cogwheel displayed for the OctaneGoCDPlugin.
Azure DevOps Server (2019 and later)
Azure DevOps Services
In the target Azure DevOps project:
-
Create a new OpenText Core SDP Service Connection by providing the properties of your workspace: Connection name, URL, instance ID, shared space ID, API client ID and secret.
-
Add two jobs to your pipeline: AlmOctanePipelineStart which always runs at the pipeline beginning, and AlmOctanePipelineEnd which always waits until all other jobs finish.
Note:
- The steps that follow are not relevant for the Azure DevOps integration. For details on how to configure this integration, see the plugin readme file.
- For additional setup requirements for this integration, see Admin setup for Azure DevOps pipelines.
-
Enter information for the plugins:
-
Set the Location.
Enter the URL of the server, using its fully qualified domain name (FQDN). The port number is optional.
Use the following format:
http://<OpenText Core SDP hostname / IP address> {:<port number>}/ui/?p=<shared space ID>
For example, in this URL, the shared space ID is 1002:
http://myServer.myCompany.com:8081/ui/?p=1002
You can copy the URL from the address bar of the browser in which you opened it.
Note: When configuring an integration between an on-premises and a CI server using the plugin, we recommend using HTTPS to ensure that the credentials are sent securely.
-
Set the Client ID.
Enter the API access Client ID that the plugin should use to connect to OpenText Core SDP. For details, see CI server integration.
-
Enter the Client secret.
Specify the Client secret that the plugin should use to connect to OpenText Core SDP. For details, see CI server integration.
-
For Bamboo or TeamCity: Select the CI server user account. This is the user account that will run jobs at OpenText Core SDP's request.
Follow these guidelines:
-
Make sure the user exists in the CI server
-
In Bamboo, you must specify a user; you cannot leave it blank.
-
In TeamCity, if you do not specify a user, OpenText Core SDP uses Anonymous, and it is limited to Anonymous permissions.
-
-
For Azure DevOps: Set the HTTP address and Personal Access Token for the plugin to use to access Azure DevOps Server (TFS). The permissions required for this PAT are described above.
-
For the GoCD API: Enter the user name and password required for accessing GoCD.
-
-
Click Test Connection to validate the configuration, and then save your changes.
Move an existing CI server to a new address
If your Bamboo or TeamCity CI server moves to a new location and you reinstall the plugin, you must re-create the CI server and its pipelines in OpenText Core SDP.
If your GitLab server moves to another location, get the CI server instance ID using step 1 below, and then, use the ciserver.identity property as described in OpenText Core Software Delivery Platform GitLab CI service.
If you move your Azure DevOps Server (TFS) and reinstall the plugin, use the following steps to adjust the plugin's configuration and continue working with your existing pipelines.
To configure the plugin to work with existing pipelines:
-
Get the plugin instance ID originally used to set up the CI server on OpenText Core SDP:
-
Open the Settings menu , click Spaces, and select a workspace.
-
Go to the DevOps tab, and select CI servers from the list.
-
In the grid, locate the Instance ID column and copy your CI server's Instance ID.
-
-
In Azure DevOps Server (TFS), update the new plugin to use the original instance ID.
- On the Azure DevOps Server (TFS) server, go to http://localhost:4567 to access the plugin's console.
- Click Configuration.
- In the Instance ID box, enter the Instance ID you copied in the previous step.
For more details, see the plugin's readme.
Admin setup for Azure DevOps pipelines
This section describes the steps that admins need to do for integrating with Azure DevOps. The setup includes the Azure DevOps token and a DevOps CI server entry.
Note: The integration with Azure DevOps requires two-way communication. To avoid connection and permission issues, we recommend that you configure OpenText Core SDP SaaS deployments to communicate with the Azure DevOps SaaS service.
To set up the Azure DevOps integration:
-
In Azure project settings > Pipeline settings, set Limit variables that can be set at queue time to OFF.
-
By default, you cannot set the following required variables as parameters or variables in yaml: executionId, suiteId, octaneTestRunnerFramework, octaneSpaceId, octaneEnvironment, suiteRunId, octaneWorkspaceId, octaneRunByUsername.
Set these as editor’s variables by editing the pipeline in Azure Devops. Select Settable at queue time on the pipeline editor's Variables tab.
- Make sure that you have the latest Azure DevOps OpenText Core SDP extension installed. If your version is outdated, when a user tries to run the pipeline, a message opens listing the required version. For details, see Configure the plugin.
-
Create a test suite and tests in OpenText Core SDP (these can be created with pipeline injection).
Note: To enable BDD test result injection, use the CucumberReportPath parameter to configure the path from which the Azure DevOps integration can take BDD test results, after they are processed by the bdd2octane tool. The path should be the output folder that contains the test results generated by the tool. For details, see BDD testing framework.
-
Add credentials:
-
Create a token in Azure DevOps.
-
Open the Settings menu and click Spaces.
-
Go to the Credentials tab and click + Credentials to add a new credential.
-
Enter arbitrary text in the Name and User Name fields.
-
For the password, enter the Azure token. For details, see Credentials.
-
Click Add.
-
-
Add the CI server:
-
Open the Settings menu and click Spaces.
-
Go to the DevOps tab and click + CI Server to add a new CI server.
-
Add the server information for Azure DevOps and select the credential that you created above. This requires the following:
-
Click the Choose columns button and add the Credential column.
-
Under your connection, select the Credential column check box.
-
-
Click Add. Users can now run Azure DevOps pipelines. For details, see Run Azure DevOps pipelines.
-
Next steps: