CI runner
CI runner je stroj, který vykonává joby pipeline CI/CD: převezme job od služby CI, spustí jeho kroky a vrátí výsledky zpět.
Poslední aktualizace: 11. listopadu 2026
CI runner je stroj, fyzický nebo virtuální, který vykonává joby pipeline CI/CD. Přijme job od služby CI, stáhne kód, spustí kroky a vrátí výsledky zpět. Jenkins a Azure Pipelines tomu samému říkají agent; jiné systémy executor.
Jak funguje runner v GitHub Actions
O tom, který runner job dostane, rozhodují štítky runs-on ve workflow: GitHub hledá runner online, který odpovídá štítkům a skupinám jobu, a job, který žádný runner nepřevezme, zůstane ve frontě a po 24 hodinách selže (referenční dokumentace GitHubu k self-hosted runnerům). Aplikace runneru se připojuje ven ke GitHubu přes HTTPS, aby přijímala joby, během jobu streamuje logy zpět a u efemérního runneru je poté zahozena.
GitHub je řídicí vrstva: drží repozitář, soubory workflow, úložiště tajných klíčů, logy a checky. Práci odvádí runner.
Tři druhy runnerů
- Hostované dodavatelem CI. Runnery hostované na GitHubu dávají každému jobu nový virtuální stroj a účtují se v minutách buildu.
- Self-hosted. Vaše vlastní stroje, které sami aktualizujete, izolujete a škálujete. Viz spravované vs self-hosted runnery.
- Spravované runnery třetích stran. Stroje provozuje poskytovatel a ty se u GitHubu registrují jako self-hosted runnery. Viz srovnání poskytovatelů runnerů GitHub Actions.
Runner je buď efemérní, jeden job na novém stroji, nebo trvalý, mnoho jobů na stejném stroji. Efemérní runnery jsou bezpečnější: nic, co po sobě jeden job zanechá, soubory ani přihlašovací údaje, se nedostane k dalšímu.
Proč na runneru záleží z hlediska bezpečnosti
Na runneru se potkává zdrojový kód, tajné klíče a stažené závislosti. Drží tokeny jobu a cloudové přihlašovací údaje, spouští každý instalační skript balíčků a navazuje každé síťové spojení, které build naváže. Kompromitovaná závislost jedná s přístupem runneru.
Runner je proto bezpečnostní hranicí. Izolujte joby od sebe navzájem, omezte, kam runner dosáhne, pomocí politiky odchozího provozu a zaznamenávejte, co který job stáhl.
CRACI
CRACI je runner pro GitHub Actions. Job se přesune pomocí runs-on: craci, workflow přitom zůstává v GitHubu a běhy se tam stále zobrazují. Každý job běží ve vlastním izolovaném virtuálním stroji pod politikou odchozího provozu a vytvoří SBOM toho, co stáhl. Viz runnery CRACI a CRACI vs runnery hostované na GitHubu.
CRACI dnes spouští pouze linuxové joby pro GitHub Actions. Runnery pro GitLab CI, Jenkins, Windows nebo macOS pocházejí od těchto dodavatelů nebo z vlastního provozu.