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.

Back to top

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:

  1. Go to Administration > Plugins List and click Upload plugin zip.
  2. Browse to the plugin file that you downloaded and click Upload.
  3. Restart the TeamCity server.
Bamboo

In your Bamboo server's user interface, open the add on management area and upload the Bamboo plugin:

  1. Click the Administration cogwheel button and select Add-ons from the menu.

  2. Click Pause server to pause the server while you install a new add on, to avoid adverse effects on currently running builds.

  3. Click Upload add-on, browse to the plugin file that you downloaded and click Upload.

  4. Click Resume server at the top of the page.

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:

  1. Install the ALM Octane Integration Extension.

  2. Enable the Pipeline Decorators preview feature.

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.

Back to top

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:

  1. 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:

    1. Go to Administration.
    2. Under Server Administration, click ALM Octane CI Plugin.
    Bamboo

    In your Bamboo server's user interface, locate the configuration area for the plugin:

    1. Click the Administration cogwheel button and select Add-ons from the menu.

    2. Under Communication, click Application Automation Tools Plugin.

    Azure DevOps Server (TFS)

    On your Azure DevOps Server (TFS) machine, access the plugin's console:

    1. Go to http://localhost:4567.
    2. 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:

    1. 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.

    2. 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.
  2. Enter information for the plugins:

    1. 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.

    2. 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.

    3. 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.

    4. 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.

    5. 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.

    6. For the GoCD API: Enter the user name and password required for accessing GoCD.

  3. Click Test Connection to validate the configuration, and then save your changes.

Back to top

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:

  1. Get the plugin instance ID originally used to set up the CI server on OpenText Core SDP:

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

    2. Go to the DevOps tab, and select CI servers from the list.

    3. In the grid, locate the Instance ID column and copy your CI server's Instance ID.

  2. In Azure DevOps Server (TFS), update the new plugin to use the original instance ID.

    1. On the Azure DevOps Server (TFS) server, go to http://localhost:4567 to access the plugin's console.
    2. Click Configuration.
    3. In the Instance ID box, enter the Instance ID you copied in the previous step.

    For more details, see the plugin's readme.

Back to top

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:

  1. In Azure project settings > Pipeline settings, set Limit variables that can be set at queue time to OFF.

  2. 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.

  3. 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.
  4. 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.

  5. Add credentials:

    1. Create a token in Azure DevOps.

    2. Open the Settings menu and click Spaces.

    3. Go to the Credentials tab and click + Credentials to add a new credential.

    4. Enter arbitrary text in the Name and User Name fields.

    5. For the password, enter the Azure token. For details, see Credentials.

    6. Click Add.

  6. Add the CI server:

    1. Open the Settings menu and click Spaces.

    2. Go to the DevOps tab and click + CI Server to add a new CI server.

    3. Add the server information for Azure DevOps and select the credential that you created above. This requires the following:

      1. Click the Choose columns button and add the Credential column.

      2. Under your connection, select the Credential column check box.

    4. Click Add. Users can now run Azure DevOps pipelines. For details, see Run Azure DevOps pipelines.

Back to top

Next steps: