The Gitea Actions runner
Gitea ships a CI system that speaks the same workflow syntax as GitHub Actions. To actually run jobs you register a runner — and that's a dedicated VM here (GIT-Runner, 10.100.100.11).
Why a separate VM rather than running builds in the cluster? Builds are bursty, disk-hungry, and occasionally want privileged operations. Keeping them on their own box means a heavy build can't disturb cluster workloads, and the build host can have Docker installed without that being a concern for the cluster nodes.
The runner is the act_runner agent (the project was renamed gitea-runner at v1.0), installed as a systemd service so it survives reboots and restarts on failure. It registers against the Gitea instance and then sits waiting for jobs.
GIT-Runner (10.100.100.11)
- Docker engine (for building images)
- gitea-runner (systemd service) -> registered to git.example.com
- labels: ubuntu-24.04, ubuntu-26.04 (which job images it offers)
Why we use this: a build runner is just a worker that polls for work. Running it as a plain systemd service on a dedicated VM is about as simple and debuggable as CI gets — when a build misbehaves you SSH to one box and read one service's logs.
No comments to display
No comments to display