Pipelines Integrations provide the mechanisms that enable an external service to inter-operate with Pipelines, as well as securely store the credentials for access to that service. They are necessary for Pipelines to connect to a pipeline source, and for pipelines to access external services through resources and steps. Integrations must be added and managed by an administrator user.
Two types of integrations can be added:
Pipelines: These integrations can only be used in pipeline YAML definitions. These integrations can be created in any Project.
Admin: These integrations can be used while creating dynamic node pools, and adding extension and template sources. These integrations cannot be used in pipeline YAML definitions and they can only be created in 'All' Projects.
The types of integrations that can be added/managed here are:
Dynamic Nodes: For creating dynamic nodes in a dynamic node pool. These are build nodes that are spun up and down on-demand by Pipelines from a ( AWS, Google Cloud, Azure Keys) or Kubernetesservice.
Source Control: For Pipelines extensions and template source repositories. For example: GitHub, Bitbucket, or others.
Administrator users can create, view and edit integrations. Non-administrator users can only view integrations.
The following actions can only be performed by administrator users to configure Pipelines for operation.
Adding an Integration
To add an integration:
Go to Administration | Pipelines | Integrations and click Add an Integration.
In the resulting Add New Integration display, depending on the type of integration you need, click either Pipelines or Admin.
Click the Integration Type field and select one from the dropdown list. For example, a GitHub Integration enables a pipeline to assign source control repositories in GitHub to GitRepo resources.
After the integration type is selected, enter the remaining settings as presented. For information about each integration, see Pipelines Integrations.
For the following integrations, you have the option of testing the integration while creating/editing it. The test validates all the details you have entered, including the URL, user credentials, and the token for sufficient permissions on the repository.
To test an integration, enter all the relevant details and click Test Connection. The details entered for the integration is validated and an appropriate message for success or failure is displayed.
Click Create to create the integration.
The integration you created appears on the Integrations page.
These integrations also appear on the Application | Pipelines | Integrations page.
Restricting Integration Use
If an integration is in a Project, one or more environments maybe specified for the integration and that integration is available to resources that are part of the pipeline sources that share at least one of those environments. By default, integrations are in the DEV environment.
Integrations that are not in any project may only be used by pipeline sources that are not in a project. By default, these integrations are available to resources in all pipeline sources that are not in a project.
You can establish those usage restrictions when you add or modify an integration.
Uncheck the option to Any Pipeline Source.
In the revealed interface, select from the list of available pipeline sources and move the row(s) (by click-and-drag or arrow button) to the list of included pipeline sources.
When finished, click Create (if adding an integration) or Save (if editing).
To view the list of integrations already added and available for use, go to either Application | Pipelines | Integrations or Administration | Pipelines | Integrations