↓ Skip to main content

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, hcloud and jq. 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)