Provisioning runners in Google Cloud

Tier: Free, Premium, Ultimate Offering: GitLab.com Status: Beta
History
On GitLab.com, this feature is available for a subset of users. On GitLab Dedicated, this feature is not available.

This feature is in Beta.

Creating a runner provisioned in Google Cloud

Prerequisites:

You can create a project or group runner for GitLab.com and provision it on your Google Cloud project. When you create a runner, the GitLab UI provides on-screen instructions and scripts to automatically provision the runner in a Google Cloud project that you own.

After you create a runner, it is assigned a runner authentication token that a Terraform script uses to register it. The runner uses the token to authenticate with GitLab when picking up jobs from the job queue.

After the runners are provisioned, an autoscaling fleet of runners is available to execute your CI/CD jobs in Google Cloud. A runner manager automatically creates temporary runners.

Create a group runner

Prerequisites:

  • You must have the Owner role for the group.

To create a group runner and provision it on Google Cloud:

  1. On the left sidebar, select Search or go to and find your group.
  2. Select Build > Runners.
  3. Select New group runner.
  4. In the Platform section, select Google Cloud.
  5. In the Tags section, in the Tags field, enter the job tags to specify jobs the runner can run. If there are no job tags for this runner, select Run untagged.
  6. Optional. In the Runner description field, add a runner description that displays in GitLab.
  7. Optional. In the Configuration section, add additional configurations.
  8. Select Create runner.
  9. Complete the form in the Step 1: Specify environment section to specify the environment in Google Cloud where runners execute CI/CD jobs.
  10. In Step 2: Set up GitLab Runner, select Setup instructions. In the modal:

    • Step 1: Configure Google Cloud project must be executed once per Google Cloud project, to ensure it meets the necessary prerequisites. Namely, the required services, service account, and permissions.
    • Step 2: Install and register GitLab Runner displays the Terraform script that leverages GitLab Runner Infrastructure Toolkit (GRIT) to provision the required infrastructure on the selected Google Cloud project to execute your runner manager.

After you execute the scripts, a runner manager connects with the runner authentication token. The runner manager might take up to one minute to show as online and start receiving jobs.

Create a project runner

Prerequisites:

  • You must have the Maintainer role for the project.

To create a project runner and provision it on Google Cloud:

  1. On the left sidebar, select Search or go to and find your project.
  2. Select Settings > CI/CD.
  3. Expand the Runners section.
  4. Select New project runner.
  5. In the Platform section, select Google Cloud.
  6. In the Tags section, in the Tags field, enter the job tags to specify jobs the runner can run. If there are no job tags for this runner, select Run untagged.
  7. Optional. In the Runner description field, add a description for the runner that displays in GitLab.
  8. Optional. In the Configuration section, add additional configurations.
  9. Select Create runner.
  10. Complete the form in the Step 1: Specify environment section to specify the environment in Google Cloud where runners execute CI/CD jobs.
  11. In Step 2: Set up GitLab Runner, select Setup instructions. In the modal:

    • Step 1: Configure Google Cloud project must be executed once per Google Cloud project, to ensure it meets the necessary prerequisites. Namely, the required services, service account, and permissions.
    • Step 2: Install and register GitLab Runner displays the Terraform script that leverages GRIT to provision the required infrastructure on the selected Google Cloud project to execute your runner manager.

After you execute the scripts, a runner manager connects with the runner authentication token. The runner manager might take up to one minute to show as online and start receiving jobs.