Install GitLab Runner
You can install GitLab Runner on your infrastructure.
GitLab Runner is open-source and written in Go. It can run as a single binary and has no language-specific requirements.
GitLab Runner can also run inside a Docker container or be deployed to a Kubernetes cluster.
GitLab Runner can be installed and used on GNU/Linux, macOS, FreeBSD, and Windows. You can install it:
- In a container.
- By downloading a binary manually.
- By using a repository for rpm/deb packages.
GitLab Runner officially supported binaries are available for the following architectures:
- x86, AMD64, ARM64, ARM, s390x, ppc64le
Official packages are available for the following Linux distributions:
- CentOS, Debian, Ubuntu, RHEL, Fedora, Mint, Oracle, Amazon
GitLab Runner officially supports the following operating systems. If you prefer to use a different operating system that is not officially supported, it must be able to compile a Go binary.
- Linux, Windows, macOS, FreeBSD
You can find information on the different installation methods below. You can also view installation instructions in GitLab by going to your project’s Settings > CI / CD, expanding the Runners section, and clicking Show runner installation instructions.
After you install GitLab Runner, you must register individual runners with your GitLab instance. This instance can be self-managed, or you can use GitLab.com.
GitLab Runner runs the CI/CD jobs that are defined in GitLab.
System Requirements
GitLab Runner system requirements vary widely and depend on a number of variables unique to each use-case. GitLab Runner instances can be sized individually given these variables and scaled higher or lower as necessary. These variables include:
- The anticipated:
- CPU load of CI jobs.
- Memory usage of CI jobs.
- The number of:
- Concurrent CI jobs.
- Projects in active development.
- Developers expected to work in parallel.
For more information, see what machine types are available for Linux (x86-64) on SaaS.
FIPS compliant GitLab Runner
As of GitLab Runner 14.7, we provide a FIPS 140-12 compliant GitLab Runner binary. This binary, built with the Red Hat Go compiler, bypasses the standard library cryptographic routines and instead calls into a FIPS 140-2 validated cryptographic library.
As of GitLab Runner 15.10, we use UBI-8 minimal as the base for creating the GitLab Runner FIPS image.
FIPS compliant GitLab Runner binaries are provided for the following architectures:
- AMD64
Docker images and RPM packages for the same architectures are also provided.
FIPS compliant GitLab Runner in RHEL
When you use the FIPS version of GitLab Runner in RHEL, you should enable FIPS mode.
FIPS compliant GitLab Runner in other systems and architectures
Refer to this issue to follow progress on adding other architectures and distributions.
Repositories
Binaries
Containers
- Install as a Docker service
- Install on Kubernetes
- Install using the agent for Kubernetes
- Install as GitLab Runner Operator