Use self-hosted Arm64-based runners in GitHub Actions for CI/CD
Introduction
Background: GitHub Actions and CI/CD
Further Context
Setting up the DockerHub Repository
Prepare GitHub Repository
Prepare the runner
Create the Self-Hosted Runner in GitHub
Running CI/CD pipeline
Summary
Next Steps
Use self-hosted Arm64-based runners in GitHub Actions for CI/CD
Who is this for?
This Learning Path is for software developers and IT practitioners who want to learn how to use GitHub Actions for CI/CD purposes.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Create a CI/CD pipeline in GitHub.
- Use a self-hosted runner.
- Build and push the Docker image to DockerHub.
Prerequisites
Before starting, you will need the following:
- An Arm64-powered machine, either virtual or physical. This Learning Path demonstration uses an Arm64-powered VM with Ubuntu 22.04.
- A DockerHub account. You can set up a free DockerHub account .
- A GitHub account. You can sign up for GitHub .
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 configure a GitHub Actions CI/CD pipeline on a self-hosted Arm64 Linux runner to build a .NET application and publish an Arm64 Docker image to Docker Hub. You’ll create the repository and secrets, and install Docker and the .NET SDK on Ubuntu 22.04. You’ll then run the workflow and verify the pushed image tag.
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.
Yes. Create two repository secrets: one for your Docker Hub username and one for your Docker Hub token so the workflow can log in and push the image.
Docker Hub shows the push command after you create the repository. It looks like:
docker push <YOUR_ACCOUNT_NAME>/sampleapp:tagname.Install the .NET SDK and Docker. The Learning Path provides Docker installation steps for Ubuntu 22.04.
Use GitHub’s import tool with the repository URL
https://github.com/dawidborycki/arm-lp-ci-cd-net.git and choose a name for your new repository.The runner builds and pushes an Arm64 Docker image of the .NET application to your Docker Hub repository. The runner creates a new image tag in the repository you created.