Install GitLab Runner with a cluster management project

Introduced in GitLab 14.0.

Assuming you already have a Cluster management project created from a management project template, to install GitLab Runner you should uncomment this line from your helmfile.yaml:

  - path: applications/gitlab-runner/helmfile.yaml

GitLab Runner is installed by default into the gitlab-managed-apps namespace of your cluster.

For GitLab Runner to function, you must specify the following in your applications/gitlab-runner/values.yaml.gotmpl file:

  • gitlabUrl: The GitLab server full URL (for example, https://gitlab.example.com) to register the Runner against.
  • runnerRegistrationToken: The registration token for adding new runners to GitLab. This must be retrieved from your GitLab instance.

These values can be specified using CI/CD variables:

  • GITLAB_RUNNER_GITLAB_URL is used for gitlabUrl.
  • GITLAB_RUNNER_REGISTRATION_TOKEN is used for runnerRegistrationToken

The methods of specifying these values are mutually exclusive. Either specify variables GITLAB_RUNNER_REGISTRATION_TOKEN and GITLAB_RUNNER_TOKEN as CI variables (recommended) or provide values for runnerRegistrationToken: and runnerToken: in applications/gitlab-runner/values.yaml.gotmpl.

The runner registration token allows connection to a project by a runner and therefore should be treated as a secret to prevent malicious use and code exfiltration through a runner. For this reason, we recommend that you specify the runner registration token as a protected variable and masked variable and do not commit them to the Git repository in the values.yaml.gotmpl file.

You can customize the installation of GitLab Runner by defining applications/gitlab-runner/values.yaml.gotmpl file in your cluster management project. Refer to the chart for the available configuration options.

Support for installing the GitLab Runner managed application is provided by the GitLab Runner group. If you run into unknown issues, open a new issue, and ping at least 2 people from the Runner group.