Build a CI/CD pipeline using GitLab-hosted Arm runners
Introduction
Build and use GitLab-hosted Arm runners for CI/CD
Create a GitLab project
Build and configure your Arm64 CI/CD pipeline
Run pipeline and verify results
Next Steps
Build a CI/CD pipeline using GitLab-hosted Arm runners
Who is this for?
This is an introductory topic for DevOps engineers who want to build CI/CD pipelines on Arm-based infrastructure using GitLab-hosted runners.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Create a GitLab project with CI/CD configuration
- Configure pipeline stages to use Arm64 runners
- Build and containerize applications for Arm64 architecture
- Store container images in GitLab Container Registry
Prerequisites
Before starting, you will need the following:
- A GitLab account (free tier includes Arm64 runner access)
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll create a GitLab project and configure a CI/CD pipeline that runs on GitLab‑hosted arm64 runners. You’ll add a
.gitlab-ci.yml that targets arm64 by specifying the appropriate runner tag and use the Docker executor to containerize a simple C application. The pipeline builds the program, produces an arm64 container image, and pushes it to the GitLab Container Registry. You’ll trigger the workflow from the Pipelines page, inspect job logs to follow each stage, and verify the execution environment by checking lscpu output for arm64. By the end, you’ll have a working pipeline and a versioned image visible in the project’s registry.Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use the Docker executor to run containerized builds on GitLab‑hosted runners. This path configures jobs to run on arm64 by adding the Arm64 runner tag in
.gitlab-ci.yml.Add the Arm64 runner tag to the job’s tags section in
.gitlab-ci.yml. Jobs that include this tag are scheduled on GitLab‑hosted arm64 runners.Open the job log and review the
lscpu output. The reported architecture should indicate Arm64, confirming that the job executed on the intended runner.You should see successful build and push stages, with logs showing the C program compilation and container image creation. The new image and tag appear in the project’s GitLab Container Registry.
Verify that the push stage finished without errors in the job log. Then open the project’s Container Registry page and confirm the expected image tag is listed.