A GitLab Runner is an agent that executes CI/CD jobs defined in your pipeline configuration. GitLab offers two types of runners:
For Arm development, GitLab-hosted runners offer a managed way to build and test applications targeting Arm platforms without maintaining your own infrastructure. You’ll choose between the Docker executor (for containerized builds) or the Shell executor (for direct access to the Arm64 runner environment).
When you register a runner, you specify an executor that determines the job environment. For Arm development workflows, Docker and Shell executors are the most common choices, letting you build container images or compile applications directly on native Arm64 hardware.
GitLab-hosted runners support both x86-64 and arm64 architectures. For developers targeting Arm platforms (servers, edge devices, or embedded systems), using Arm64 runners provides:
GitLab-hosted runner specifications are subject to change. See the GitLab documentation for further information.
Each job runs in a newly provisioned virtual machine dedicated to that job. The VM is deleted immediately after job completion.
GitLab-hosted runners provide the following execution environment:
saas-linux-small-arm64 or another Arm64 tag to use Arm runners)GitLab provides three tiers of Linux Arm64 runners:
saas-linux-small-arm64 (free tier)saas-linux-medium-arm64 (paid tier)saas-linux-large-arm64 (paid tier)For complete specifications, see GitLab-hosted runners .
Each job executes in complete isolation: