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

AI-assisted

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.

Close
?
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

AI-assisted

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.

Close
?
Which runner executor should I use for this pipeline?
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.
How do I target arm64 runners 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.
How do I confirm my job actually ran on Arm64?
Open the job log and review the lscpu output. The reported architecture should indicate Arm64, confirming that the job executed on the intended runner.
What result should I expect after the pipeline runs?
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.
What should I check if the image is not in the 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.
Next