Solution

VPS pour runners CI/CD auto-hébergés (GitHub Actions, GitLab, Woodpecker)

Cutter 16 · $62/moClipper 16 · $92/mo
Réponse courte

Les runners auto-hébergés sont rentabilisés rapidement : un Cutter 16 à 62 $ par mois remplace plusieurs milliers de minutes CI hébergées et compile plus vite car le cache est local. Quatre à six cœurs dédiés et 16 Go suffisent pour la plupart des matrices de builds. Utilisez du NVMe — l'installation des dépendances et l'extraction des couches de conteneurs sont presque entièrement liées aux E/S.

Ce dont vous avez besoin

Plancher de spécifications pour runners ci/cd
RessourceCe dont vous avez réellement besoin
CPU4 à 8 cœurs dédiés ; les builds se parallélisent bien
RAM16 Go pour une matrice type, 32 Go pour les gros monorepos
Disque320 Go de NVMe — les caches, images et artefacts s'accumulent
NoyauVirtualisation imbriquée pour les jobs basés sur conteneurs et machines virtuelles

Plans recommandés

Cutter

Cutter 16

$ 62 /month
vCPU
6 × dédié
RAM
16 GB
Stockage
320 GB SSD NVMe
Transfert
15 TB
IPv4 / IPv6
1 / /64 routed
Configurer
Clipper

Clipper 16

$ 92 /month
vCPU
8 × dédié
RAM
16 GB
Stockage
400 GB SSD NVMe Gen4
Transfert
30 TB
IPv4 / IPv6
1 / /64 routed
Configurer
Clipper

Clipper 32

$ 174 /month
vCPU
12 × dédié
RAM
32 GB
Stockage
800 GB SSD NVMe Gen4
Transfert
40 TB
IPv4 / IPv6
1 / /64 routed
Configurer

Emplacements recommandés

L'emplacement est généralement la décision la plus importante pour ce type de charge de travail — soit parce que la latence domine, soit parce que la juridiction en fait partie.

Pourquoi OnionVPS pour cela

  • La virtualisation imbriquée permet de faire fonctionner à la fois les jobs Docker et les jobs VM.
  • Les caches de dépendances locaux sur NVMe réduisent considérablement les temps de build par rapport à un runner hébergé à froid.
  • Tarification mensuelle fixe au lieu d'une facturation à la minute qui pénalise les semaines chargées.
  • Pas de vérification de compte, donc un runner peut être provisionné par un script à trois heures du matin.

Comment le configurer

  1. Déployez un Cutter 16 avec Ubuntu 24.04

    Six cœurs et 16 Go couvrent la plupart des projets.

  2. Installez l'agent runner

    GitHub Actions runner, gitlab-runner, ou Woodpecker selon votre forge.

  3. Exécutez les jobs dans des conteneurs éphémères

    Un conteneur neuf par job empêche un build de contaminer le suivant.

  4. Persistez les caches de paquets hors du conteneur

    Montez des répertoires hôte pour npm, cargo, pip et les couches Docker.

  5. Enregistrez le runner et étiquetez-le

    Les étiquettes vous permettent d'envoyer les tâches lourdes ici et de laisser les tâches légères sur les runners hébergés.

Questions fréquemment posées

Un runner CI auto-hébergé est-il moins cher que les minutes hébergées ?

Presque toujours au-delà de quelques milliers de minutes par mois. Une instance à 62 $ fonctionne en continu ; la CI hébergée facture à la minute et retélécharge les dépendances à chaque démarrage à froid.

Puis-je exécuter des builds Docker sur un runner auto-hébergé ?

Oui. La virtualisation imbriquée et le root complet permettent de faire fonctionner buildx, Docker-in-Docker et les builds rootless.

Les runners auto-hébergés sont-ils sûrs pour les dépôts publics ?

Uniquement avec des runners éphémères et isolés. Un dépôt public peut exécuter du code arbitraire provenant d'une pull request, donc ne donnez jamais accès à des secrets ou à votre réseau interne à un tel runner.