BuildMaster Documentation

Integrating BuildMaster with GitLab

  • Last Modified: 2020-02-26

GitLab is a DevOps platform that has support for source control hosting, issue tracking, collaboration tools, and cloud-native deployment. While GitLab has support for its own pipelines, BuildMaster is designed to work alongside GitLab to provide a self-managed CI/CD solution, especially when:

  • modeling legacy applications you are already deploying
  • application portfolios span multiple hosting environments
  • internal deployment targets, or a variety of targets throughout an organization
  • adding a layer of release management

BuildMaster is designed to work alongside GitLab to provide a self-managed CI/CD solution. BuildMaster's GitHub integration supports the following functionality:

See it live! See an example of GitLab integration by creating a new application using the GitLab CI/CD template.

Installing the GitLab Extension

Simply navigate to the Admin > Extensions page in your instance of BuildMaster and click on the GitLab extension to install it.

If your instance doesn't have internet access, you can manually install the GitLab extension after downloading the GitLab Extension Package.

Connecting to and Authenticating GitLab

The easiest way to connect to GitLab is with a GitLab Project secure resource and a GitLab Account secure credential. You could also use the more general-purpose Git operations, although those aren't generally recommended because they don't model GitLab-specific concepts like namespaces or releases.

  • A GitLab Account is just a username and password, so we recommend creating a specific account with the minimum amount of privileges required to interact with GitLab. Typically this is just Guest permission to pull source code, but if there are requirements to tag source code for example, at least the Developer permission will be required. Refer to the GitLab Permissions documentation for more information.
  • A GitLab Project is the API URL, namespace, and project names, and optionally can use a GitHub Account for authentication

To connect to a self-managed instance of GitLab Enterprise, make sure the API URL of the credentials is configured to the API URL (https://host/api) for your GitLab Enterprise installation.

SSH connections are not supported using the built-in GitLab integration in BuildMaster, so make sure to use the HTTPS endpoint when supplying the repository URL to the resource credentials or any operations. If your organization requires SSH to connect, you must install and configure the Git CLI manually and then instruct BuildMaster to use the Git CLI instead.

Both Secure Resources and Secure Credentials can be defined at the system-level (global/shared) or the application-level. Generally, it's easiest to create one Secure Resource per application, and share a Secure Credential across multiple applications.

More on this topic:

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 837b6516 on master