CI-runner hosting
Antwoord
Zelf gehoste CI-runners voeren uw build-pipelines uit op servers die u beheert, in plaats van op een gedeelde pool van een provider. Een Incognito VPS VECTOR-plan voor $14 per maand presteert doorgaans beter dan een gehoste runner en elimineert per-minuut facturering en wachttijden volledig.
| Scenario | Minimum |
|---|---|
| Klein project | 2 vCPU, 4 GB RAM |
| Typische monorepo | 6 vCPU, 16 GB RAM |
| Zware compilatie (Rust, C++) | 16 vCPU, 64 GB RAM |
| Docker-laagcache | 140 GB+ NVMe |
Het rekensommetje is meestal doorslaggevend
Gehoste CI-minuten lijken goedkoop totdat u ze telt. Een team dat een paar honderd builds per maand draait op gehoste runners met 2 kernen, geeft routinematig meer uit dan een dedicated VPS met 6 kernen kost, en krijgt er langzamere builds voor terug, omdat gehoste runners bescheiden machines onder belasting zijn.
De andere besparing is tijd in plaats van geld. Een zelf gehoste runner heeft geen wachtrij — uw taak start zodra u pusht. Op een drukke gehoste pool is enkele minuten wachten op een runner normaal, en die vertraging treft elke ontwikkelaar, elke push.
Caching is waar de echte versnelling zit
Persistente lokale NVMe verandert de CI-economie meer dan het ruwe aantal kernen. Docker-lagen, Cargo-registries, node_modules, Gradle-caches en ccache overleven tussen runs op een zelf gehoste runner, terwijl een gehoste runner schoon begint en alles opnieuw downloadt.
Voor een groot Rust- of C++-project is dit regelmatig een vijf- tot tienvoudige verkorting van de doorlooptijd van de build, en het is volledig gratis.
Isolatie, omdat runners willekeurige code uitvoeren
Een zelf gehoste runner voert uit wat er in de pipeline staat, wat voor een publieke repository betekent: wat een contributor in een pull request zet. Bevestig nooit een zelf gehoste runner aan een publieke repository zonder ephemere, geïsoleerde uitvoering.
Gebruik ephemere runners in containers of kortlevende VMs, geef de runner geen credentials die hij niet nodig heeft, en zet hem op een server waar verder niets op draait. Een machine van $14 per project is goedkope verzekering tegen een gecompromitteerde pipeline die de rest van uw infrastructuur bereikt.
Veelgestelde vragen
01 Welk plan voor een CI-runner?
VECTOR (4 vCPU, 8 GB) voor een typisch project; BASTION (6 vCPU, 16 GB) voor een monorepo of zware compilatie. Persistente NVMe-cache is voor de meeste pipelines belangrijker dan het aantal kernen.
02 Werkt het met GitHub Actions?
Ja. Registreer de machine als zelf gehoste runner en doel erop met runs-on. GitLab, Forgejo, Woodpecker en Drone werken op dezelfde manier.
03 Is een zelf gehoste runner veilig voor publieke repos?
Niet zonder ephemere isolatie. Een pull request kan willekeurige code op de runner uitvoeren. Gebruik ephemere containers of wegwerp-VMs en verleen nooit credentials die de pipeline niet nodig heeft.
04 Hoeveel sneller is het?
Typisch twee tot vier keer op ruwe rekenkracht, en vijf tot tien keer op cache-intensieve pipelines, omdat Docker-lagen en afhankelijkheidscaches tussen runs blijven bestaan in plaats van opnieuw te worden gedownload.
Gerelateerd