Hébergement Jenkins, contrôleur et agents séparés

Un contrôleur Jenkins sur sa propre machine à Prague ou Covilhã, avec les compilations déportées sur des agents où elles ont leur place - le seul conseil de dimensionnement que donne le projet Jenkins et celui que la plupart des installations ignorent.

Certifié Tier III ISO 9001 ISO/IEC 27001 ISO 14001 Conforme au RGPD

À qui cela s'adresse

Un Jenkins qui vit sous le bureau de quelqu'un

Il compile depuis 2019, personne ne se souvient des plugins qui comptent, et tout le processus de publication dépend d'une tour avec un disque et sans sauvegarde.

Un contrôleur qui exécute ses propres compilations

Des exécuteurs ont été alloués sur le contrôleur parce que c'était plus simple, et maintenant un job lourd emporte l'interface web avec lui - ce que la documentation Jenkins qualifie de mauvaise pratique dans ces termes exacts.

Une équipe qui ne peut pas passer au CI hébergé

Douze ans de pipelines, un plugin que personne n'a remplacé et un job qui parle à du matériel. Jenkins n'est pas le problème ; la machine en dessous, si.

Ce que vous apporte une machine à vous

  • Un contrôleur qui reste réactif, parce que les compilations tournent sur des agents et non sur ce qui sert l'interface web.
  • JENKINS_HOME sur NVMe avec un snapshot avant chaque mise à jour de plugins, pour que le retour en arrière soit deux clics et non une soirée.
  • Des agents ajoutés comme hôtes séparés et connectés via SSH ou le protocole entrant, dimensionnés différemment du contrôleur.
  • Une IPv4 statique issue d'AS204057, pour qu'un registre interne, un dépôt d'artefacts ou une cible de déploiement puisse autoriser le contrôleur par adresse.
  • Tout agent dont vous avez besoin à côté - Linux pour les compilations, Windows Server avec une licence de chez nous quand un job l'exige.
  • Des installations Tier III, une sauvegarde incluse, et une machine qui ne dépend pas de la climatisation du bureau.

Dimensionné d'après ce que la pipeline fait vraiment

Le projet Jenkins refuse délibérément de publier un chiffre matériel unique, qualifie le dimensionnement de science inexacte et place la mémoire du contrôleur entre 200 Mo pour une petite installation et 70 Go et plus pour une grande. Ce qu'il dit clairement en revanche, c'est où va le travail : n'allouez pas d'exécuteurs sur le contrôleur, car une compilation peut le surcharger et le faire tomber. Dimensionnez donc le contrôleur pour l'interface, les plugins et l'historique des jobs, et ajoutez des agents pour les compilations. Une réserve sur la forme de facturation : un hôte mensuel fixe coûte pareil une semaine calme, là où les minutes de CI hébergées ne coûtent rien - Jenkins tourne en général presque tous les jours, et c'est exactement là que ceci gagne.

Un premier contrôleur
16.49
par mois

Commander maintenant
une petite équipe, des agents plus tard
2 vCPU
8 GB RAM
80 GB NVMe
1 IPv4 statique
1 sauvegarde hebdomadaire incluse
Un contrôleur avec des agents
36.01
par mois

Commander maintenant
un contrôleur avec de la place pour l'historique des compilations
4 vCPU
16 GB RAM
240 GB NVMe
1 IPv4 statique
1 sauvegarde hebdomadaire incluse
Une ferme de compilation
65.98
par mois

Commander maintenant
beaucoup de jobs, beaucoup d'agents, long historique
8 vCPU
32 GB RAM
320 GB NVMe
1 IPv4 statique
1 sauvegarde hebdomadaire incluse

Comment installer Jenkins sur Debian ou Ubuntu

La ligne LTS stable, depuis le dépôt propre du projet Jenkins, dans l'ordre qu'ils documentent. Java 21 ou plus récent est une exigence, pas une suggestion.

  1. Installer Java

    sudo apt update
    sudo apt install fontconfig openjdk-21-jre
    java -version

    Jenkins exige Java 21 ou plus récent. fontconfig figure avec lui dans la commande documentée parce que les plugins qui produisent des images échouent de façon déroutante sans lui.

  2. Ajouter le dépôt LTS de Jenkins

    sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
      https://pkg.jenkins.io/debian-stable/jenkins.io-2026.key
    echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
      https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
      /etc/apt/sources.list.d/jenkins.list > /dev/null

    debian-stable est la ligne LTS ; le chemin debian tout court est l'hebdomadaire. La clé de signature est renouvelée, prenez donc le nom de fichier courant sur la page Jenkins plutôt que dans un vieux guide.

  3. L'installer et le démarrer

    sudo apt update
    sudo apt install jenkins
    sudo systemctl enable jenkins
    sudo systemctl start jenkins

    Jenkins écoute sur le port 8080 et tourne sous son propre utilisateur jenkins, avec tout ce qui compte sous /var/lib/jenkins. C'est ce répertoire que vous snapshotez et que vous sauvegardez.

  4. Débloquer la première connexion

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword

    Ouvrez le serveur sur le port 8080 et collez cette valeur. Ne le laissez pas joignable depuis tout l'internet pendant l'installation - placez-le derrière notre passerelle VPN, ou restreignez d'abord le port 8080 à l'adresse de votre bureau.

  5. Sortir les compilations du contrôleur

    # Manage Jenkins -> Nodes -> Built-In Node -> set executors to 0
    # then Manage Jenkins -> Nodes -> New Node for each agent host

    C'est le seul conseil de dimensionnement que la documentation Jenkins énonce explicitement : allouer des exécuteurs sur le contrôleur permet à une compilation de le surcharger et de le faire planter. Mettez le nœud intégré à zéro exécuteur et ajoutez des hôtes agents, qu'elle recommande de garder génériques et interchangeables plutôt que taillés pour un job.

  6. Connecter un agent via SSH

    sudo -u jenkins ssh-keygen -t ed25519 -f /var/lib/jenkins/.ssh/agent
    sudo -u jenkins ssh-copy-id -i /var/lib/jenkins/.ssh/agent.pub jenkins@AGENT-HOST

    Ajoutez la clé privée comme identifiant SSH Username with private key, puis créez le nœud avec la méthode de lancement SSH. Chaque connexion d'agent coûte au contrôleur deux ou trois threads et un peu plus de 2 Mo : une poignée d'agents n'est donc pas ce qui dimensionne un contrôleur - ce sont les plugins et l'historique des jobs.

Vérifié sur la documentation officielle le 2026-08-15 — lire la source

Ce que nous ne sommes pas

  • Nous ne sommes pas le projet Jenkins. Jenkins est une marque de la Linux Foundation et le logiciel est à eux ; rien ici n'est approuvé par eux. Nous vendons la machine sur laquelle il tourne.
  • Nous ne maintenons pas vos plugins. Les mises à jour de plugins sont ce qui casse les installations Jenkins, et la personne qui sait lesquels de vos 60 plugins comptent est de votre côté - même si le snapshot avant chaque mise à jour est du nôtre.
  • Nous ne migrons pas vos jobs dans le prix. Nous aidons pour la fenêtre et la copie de JENKINS_HOME, et nous chiffrons le reste si vous voulez que ce soit fait plutôt qu'accompagné.
  • Il n'y a pas ici de plan de contrôle Jenkins managé. Si vous voulez que quelqu'un d'autre porte entièrement les mises à jour, un produit de CI hébergé est la réponse honnête, et ce n'est pas ceci.
  • Les agents Windows ont besoin de licences Windows Server, que nous pouvons fournir sur le serveur, mais toute licence d'outil dont la compilation a besoin reste la vôtre.

Les parties que les équipes découvrent tard

  • JENKINS_HOME, c'est toute l'installation - configuration, historique des jobs, identifiants, plugins. Sauvegardez-le et un contrôleur se reconstruit en une heure ; sautez-le et il ne se reconstruit pas du tout.
  • Snapshot avant chaque mise à jour de plugins. C'est le changement le plus susceptible de mettre à terre un Jenkins qui marche, et un snapshot en fait un retour arrière en deux clics.
  • Zéro exécuteur sur le contrôleur est la recommandation documentée, pas une préférence. Une compilation qui surcharge le contrôleur emporte l'interface web avec elle.
  • Les agents devraient être interchangeables. La documentation plaide pour des agents génériques et remplaçables plutôt qu'un hôte spécialement configuré par job, parce que celui qui est spécialement configuré est toujours celui qui est en panne.
  • Le port 8080 n'est pas un endroit où laisser un Jenkins déverrouillé. Placez-le derrière une passerelle VPN ou une liste d'adresses autorisées avant la première connexion, pas après.
  • La mémoire du contrôleur croît avec les plugins, le nombre de jobs et l'historique des compilations, pas avec la difficulté des compilations - cette charge appartient aux agents.

Minutes de CI hébergées face à un runner à vous

Minutes de CI hébergées par le fournisseurUn runner chez DCXV
Ce que vous payezChaque minute de chaque job, aussi longtemps que le projet existeUn hôte mensuel fixe, quoi que fasse la pipeline ce mois-là
Une compilation qui ralentitCoûte plus cher chaque mois où elle reste lenteNe coûte rien de plus - la machine est déjà payée
Cache de couches DockerFroid à chaque job sauf si vous le téléversez et le retéléchargez vous-mêmeChaud sur du NVMe local, entre les jobs et entre les journées
ParallélismeUn palier d'abonnement que l'on augmenteUn nombre que vous posez dans votre propre fichier de configuration
Où atterrit le checkoutUne flotte partagée, souvent dans une région que vous ne pouvez pas fixerUne machine à Prague ou Covilhã, sous contrat chypriote
Adresse sortanteUne vaste plage partagée que rien ne peut autoriserUne IPv4 statique issue d'AS204057, la vôtre à autoriser
Ce que la machine peut contenirCe que l'image du runner apporte par hasardToute chaîne d'outils, licence ou jeu de fixtures installé une fois

Comment cela démarre sur votre hôte

1

Dites-nous ce que fait la pipeline

Le job le plus lourd que vous exécutez aujourd'hui, combien vous en voulez en parallèle, et s'il construit des images de conteneur. Cela suffit pour dimensionner un hôte sans deviner.

2

Nous vous remettons la machine

Prague ou Covilhã, accès root et une IPv4 statique, en moins de dix minutes. Apportez votre propre image si le runner y est déjà intégré.

3

Suivez le pas à pas de cette page

C'est la séquence de l'éditeur, tirée de sa documentation actuelle plutôt que d'un article de blog, et elle prend quelques minutes sur un hôte propre.

4

Faites un snapshot, puis ajoutez le second

Prenez un snapshot dès que la première pipeline est verte, pour que la machine suivante soit une restauration et non une reconstruction. Un pool grandit en ajoutant des hôtes, pas en en rendant un énorme.

Pourquoi nous choisir

  • Sites certifiés Tier III, SLA du site de 99,982 %
  • Réseau propre, AS204057, IPv4 et IPv6
  • Support 24/7/365 avec environ 10 minutes de réponse moyenne
  • Société chypriote, juridiction de l'UE, conforme au RGPD depuis 2007

FAQ

- De quoi ai-je besoin pour installer Jenkins sur Ubuntu ou Debian ?

Java 21 ou plus récent, puis le dépôt apt du projet Jenkins. Installez fontconfig et openjdk-21-jre, ajoutez le trousseau et la ligne sources debian-stable de pkg.jenkins.io, apt install jenkins, activez et démarrez le service, puis déverrouillez-le avec la valeur de /var/lib/jenkins/secrets/initialAdminPassword. Jenkins écoute sur le port 8080. La séquence complète est sur cette page

- Combien de RAM faut-il à un contrôleur Jenkins ?

Le projet Jenkins refuse délibérément de donner un chiffre, qualifie le dimensionnement de science inexacte et place la mémoire du contrôleur entre 200 Mo pour une petite installation et 70 Go ou plus pour une très grande. Ce qui la fait croître, ce sont les plugins, le nombre de jobs et l'historique des compilations, pas la difficulté des compilations - puisque celles-ci ne devraient pas tourner sur le contrôleur. 8 Go sont un début confortable pour une petite équipe

- Les compilations doivent-elles tourner sur le contrôleur Jenkins ?

Non, et la documentation le dit directement : allouer des exécuteurs sur un contrôleur est une mauvaise pratique car une compilation peut saturer son processeur ou sa mémoire et le faire planter. Mettez le nœud intégré à zéro exécuteur et ajoutez des agents. Le projet recommande aussi de garder les agents génériques et interchangeables plutôt que de tailler un hôte par job

- Comment sauvegarder Jenkins ?

JENKINS_HOME, soit /var/lib/jenkins dans une installation par paquet, est toute l'installation : configuration, définitions de jobs, historique des compilations, identifiants et plugins. Sauvegardez-le et un contrôleur se reconstruit en une heure. Chaque offre ici inclut une sauvegarde, et un snapshot avant chaque mise à jour de plugins transforme le changement le plus susceptible de casser Jenkins en un retour arrière de deux clics

- Comment connecter un agent de compilation ?

La voie habituelle est SSH : générez une clé sous l'utilisateur jenkins, déposez la moitié publique sur l'hôte agent, ajoutez la moitié privée comme identifiant SSH et créez le nœud avec la méthode de lancement SSH. Chaque connexion d'agent coûte au contrôleur deux ou trois threads et un peu plus de 2 Mo : les agents ne sont donc pas ce qui dimensionne un contrôleur

- Est-il sûr de laisser Jenkins sur le port 8080 ?

Pas sur l'internet ouvert. Placez-le derrière notre passerelle VPN ou restreignez le port à vos propres adresses avant la première connexion, pas après - le mot de passe administrateur initial se trouve dans un fichier sur un serveur qui, jusque-là, répond au monde entier. Une IPv4 statique issue d'AS204057 rend aussi l'autorisation simple de l'autre côté

Si vous avez besoin d'aide ou avez des questions supplémentaires, veuillez contacter les managers ou écrire à l'équipe de support à support@dcxv.com

Prêt à commencer ?

Facturation mensuelle, sans frais de mise en service, sans engagement

Serveurs cloud dès 15 €/mois