GitHub Actions Self-hosted Runner #
Hello there, please follow the navbar on the left to start your exploration!
Images #
This repo provides the following images, both are Multi-Arch(amd64/arm64 supported):
knatnetwork/github-runner:focal-<tag>ghcr.io/knatnetwork/github-runner:focal-<tag>knatnetwork/github-runner:jammy-<tag>ghcr.io/knatnetwork/github-runner:jammy-<tag>knatnetwork/github-runner:noble-<tag>ghcr.io/knatnetwork/github-runner:noble-<tag>
<tag> is related to the
https://github.com/actions/runner/tags, for example, you may expect a image called knatnetwork/github-runner:jammy-2.322.0 when v2.322.0 is released.
Specs #
github-runner:focal-<tag>images are based on Ubuntu 20.04github-runner:jammy-<tag>images are based on Ubuntu 22.04github-runner:noble-<tag>images are based on Ubuntu 24.04github-runner:latestimages are latest image ofgithub-runner:noble-<tag>
Usage #
- Prepare your GitHub Personal Access Token, which looks like
ghp_xxxxxxxxxxxxxwithadmin:orgpermission(If you’d like to register runner to repo, your user must have Admin permission on the related repo), if you don’t know how to do it, you can refer to Creating a personal access token - If you’d like to register runner on a single machine, you can follow the quick start here.
- If you need to spread multiple runners on multiple nodes using K8s, please take a look at the here.
Topology #
The whole design is to minimize secret crendential leak on the Runner instance, so a service called ‘KMS’ is used for handling runner registration(The PAT is only stored on ‘KMS’)
