Training
On-demand CI runners Pilot
A runner per job, and a bill that stops
How to run CI runners that exist only while a job needs them: a pool per label set, a server created for waiting jobs, one single-use runner registration per job attempt, and deletion before the next paid period starts.
Pre-registering is an email to me, nothing more. I write back when the first sessions are scheduled. No newsletter.
At a glance
- Who it is for
- Teams running Forgejo (or moving to it) whose CI is a handful of always-on VMs; platform people who pay for idle runners; anyone who has pasted a runner registration token into a VM and never rotated it.
- Who it is not for
- People who want a managed CI product, or who run one job a week (a single small VM is cheaper — the course says so).
- Format
- 3 live sessions of 2 h (one day or three evenings), plus one homework workshop of about 3 h — or the same four workshops on demand, self-service.
- Where the work happens
- A browser workspace (Educates) with a Forgejo of your own, forgejo-fleet,
hcloudandjq. Each session is its own project in the course cloud, deleted when the session ends. - Stack
- forgejo-fleet v0.1.0, Forgejo 15 with Actions, forgejo-runner 13.2, a live mockup of the Hetzner Cloud API.
- You bring
- A browser.
- You walk out with
- A pool configuration you can point at a real project by changing two names, a runner image built with Packer, a cost model for your own job mix, a runbook for the five failures that actually happen, and an untrusted pool for fork pull requests.
- Price
- Free.
Sessions#
- Session 1 — A job, a server, a lease (2 h)
- Session 2 — Pools that cost what they should (2 h)
- Session 3 — Trust, failure and operations (2 h): the orchestrator is killed while a job runs; the job finishes and the server is still deleted at the right minute
- Homework — Your fleet (about 3 h, self-paced)