CI-Runner-Hosting
Antwort
Selbst gehostete CI-Runner führen Ihre Build-Pipelines auf Servern aus, die Sie kontrollieren, statt auf einem gemeinsamen Pool des Anbieters. Ein Incognito-VPS-VECTOR-Tarif für 14 $ pro Monat übertrifft in der Regel einen gehosteten Runner und eliminiert sowohl die Minutenabrechnung als auch Wartezeiten in der Warteschlange.
| Szenario | Minimum |
|---|---|
| Kleines Projekt | 2 vCPU, 4 GB RAM |
| Typisches Monorepo | 6 vCPU, 16 GB RAM |
| Schwere Kompilierung (Rust, C++) | 16 vCPU, 64 GB RAM |
| Docker-Layer-Cache | 140 GB+ NVMe |
Die Rechnung ist meist eindeutig
Gehostete CI-Minuten wirken günstig, bis man sie zählt. Ein Team, das monatlich ein paar hundert Builds auf 2-Kern-Runnern ausführt, gibt regelmäßig mehr aus, als ein 6-Kern-VPS kostet, und erhält dafür langsamere Builds, da gehostete Runner bescheidene Maschinen unter Last sind.
Der andere Vorteil betrifft Zeit statt Geld. Ein selbst gehosteter Runner hat keine Warteschlange – Ihr Job startet, sobald Sie pushen. In einem stark ausgelasteten Pool ist es normal, mehrere Minuten auf einen Runner zu warten, und diese Verzögerung betrifft jeden Entwickler bei jedem Push.
Im Cache liegt der eigentliche Geschwindigkeitsgewinn
Persistenter lokaler NVMe-Speicher verändert die CI-Ökonomie stärker als die reine Kernanzahl. Docker-Layer, Cargo-Registries, node_modules, Gradle-Caches und ccache bleiben bei einem selbst gehosteten Runner zwischen den Läufen erhalten, während ein gehosteter Runner sauber startet und alles neu herunterlädt.
Bei großen Rust- oder C++-Projekten führt dies häufig zu einer fünf- bis zehnfachen Reduktion der Build-Zeit – und das völlig kostenlos.
Isolation, da Runner beliebigen Code ausführen
Ein selbst gehosteter Runner führt aus, was in der Pipeline steht, und das bedeutet bei öffentlichen Repositories das, was ein Contributor in einen Pull Request einbringt. Hängen Sie niemals einen selbst gehosteten Runner an ein öffentliches Repository ohne ephemere, isolierte Ausführung.
Verwenden Sie ephemere Runner in Containern oder kurzlebigen VMs, geben Sie dem Runner keine unnötigen Zugangsdaten und platzieren Sie ihn auf einem Server, auf dem nichts anderes läuft. Eine Maschine für 14 $ pro Projekt ist eine günstige Versicherung gegen eine kompromittierte Pipeline, die den Rest Ihrer Infrastruktur erreicht.
Häufig gestellte Fragen
01 Welcher Tarif für einen CI-Runner?
VECTOR (4 vCPU, 8 GB) für ein typisches Projekt; BASTION (6 vCPU, 16 GB) für ein Monorepo oder schwere Kompilierung. Ein persistenter NVMe-Cache ist für die meisten Pipelines wichtiger als die Kernanzahl.
02 Funktioniert das mit GitHub Actions?
Ja. Registrieren Sie die Maschine als selbst gehosteten Runner und adressieren Sie ihn mit runs-on. GitLab, Forgejo, Woodpecker und Drone funktionieren auf die gleiche Weise.
03 Ist ein selbst gehosteter Runner für öffentliche Repos sicher?
Ohne ephemere Isolation nicht. Ein Pull Request kann beliebigen Code auf dem Runner ausführen. Verwenden Sie ephemere Container oder Wegwerf-VMs und erteilen Sie niemals Zugangsdaten, die die Pipeline nicht benötigt.
04 Wie viel schneller ist es?
In der Regel zwei- bis viermal schneller bei reiner Rechenleistung und fünf- bis zehnmal schneller bei cache-intensiven Pipelines, da Docker-Layer und Abhängigkeits-Caches zwischen den Läufen erhalten bleiben, statt neu heruntergeladen zu werden.
Verwandte Themen