- Machine types available for Linux (x86-64)
- Container images
- Docker in Docker support
- Caching on SaaS runners
- SaaS runners for GitLab community contributions
- Pre-clone script (deprecated)
When you run jobs on SaaS runners on Linux, the runners are on auto-scaled ephemeral virtual machine (VM) instances.
The default region for the VMs is
Each VM uses the Google Container-Optimized OS (COS) and the latest version of Docker Engine running the
For the SaaS runners on Linux, GitLab offers a range of machine types for use. For Free, Premium, and Ultimate plan customers, jobs on these instances consume the compute quota allocated to your namespace.
|2||8 GB||25 GB|
|4||16 GB||50 GB|
||8||32 GB||100 GB|
||16||64 GB||200 GB|
||32||128 GB||200 GB|
small machine type is set as default. If no tag keyword in your
.gitlab-ci.yml file is specified,
the jobs will run on this default runner.
There are different rates of compute minutes consumption, based on the type of machine that is used.
All SaaS runners on Linux currently run on
n2d-standard general-purpose compute from GCP.
The machine type and underlying processor type can change. Jobs optimized for a specific processor design could behave inconsistently.
If no image is set, the default is
The runners are configured to run in
privileged mode to support
Docker in Docker
to build Docker images natively or run multiple containers within your isolated job.
The SaaS runners share a distributed cache stored in a Google Cloud Storage (GCS) bucket. Cache contents not updated in the last 14 days are automatically removed, based on the object lifecycle management policy. The maximum size of an uploaded cache artifact can be 5 GB after the cache becomes a compressed archive.
For more information about how caching works, see Caching in GitLab CI/CD.
To use a machine type other than
small, add a
tags: keyword to your job.
job_small: script: - echo "this job runs on the default (small) Linux instance" job_medium: tags: - saas-linux-medium-amd64 script: - echo "this job runs on the medium Linux instance" job_large: tags: - saas-linux-large-amd64 script: - echo "this job runs on the large Linux instance"
If you want to contribute to GitLab, jobs will be picked up by the
gitlab-shared-runners-manager-X.gitlab.com fleet of runners, dedicated for GitLab projects and related community forks.
These runners are backed by the same machine type as our
Unlike the most commonly used SaaS runners on Linux, each virtual machine is re-used up to 40 times.
As we want to encourage people to contribute, these runners are free of charge.