Jenkins Hosting, Controller und Agents getrennt

Ein Jenkins-Controller auf eigener Maschine in Prag oder Covilhã, mit den Builds ausgelagert auf Agents, wo sie hingehören - der eine Dimensionierungsrat, den das Jenkins-Projekt gibt und den die meisten Installationen ignorieren.

Tier III zertifiziert ISO 9001 ISO/IEC 27001 ISO 14001 DSGVO-konform

Für wen es ist

Ein Jenkins, das unter jemandes Schreibtisch lebt

Es baut seit 2019, niemand erinnert sich, welche Plugins wichtig sind, und der ganze Release-Prozess hängt an einem Tower mit einer Platte und ohne Backup.

Ein Controller, der seine eigenen Builds fährt

Executoren wurden auf dem Controller vergeben, weil es einfacher war, und jetzt reißt ein schwerer Job die Weboberfläche mit sich - was die Jenkins-Dokumentation in genau diesen Worten als schlechte Praxis benennt.

Ein Team, das nicht auf gehostete CI wechseln kann

Zwölf Jahre Pipelines, ein Plugin, das niemand ersetzt hat, und ein Job, der mit Hardware spricht. Jenkins ist nicht das Problem; die Maschine darunter ist es.

Was eine eigene Maschine Ihnen bringt

  • Ein Controller, der ansprechbar bleibt, weil die Builds auf Agents laufen statt auf dem, was die Weboberfläche ausliefert.
  • JENKINS_HOME auf NVMe mit einem Snapshot vor jedem Plugin-Update, sodass das Zurückrollen zwei Klicks statt eines Abends kostet.
  • Agents als eigene Hosts hinzugefügt und über SSH oder das Inbound-Protokoll verbunden, anders dimensioniert als der Controller.
  • Eine statische IPv4 aus AS204057, damit eine interne Registry, ein Artefaktspeicher oder ein Deploy-Ziel den Controller per Adresse freigeben kann.
  • Jeder Agent, den Sie daneben brauchen - Linux für die Builds, Windows Server mit Lizenz von uns, wenn ein Job es verlangt.
  • Tier-III-Anlagen, ein Backup inklusive, und eine Maschine, die nicht von der Klimaanlage im Büro abhängt.

Nach dem dimensioniert, was die Pipeline tatsächlich tut

Das Jenkins-Projekt weigert sich bewusst, eine einzelne Hardware-Zahl zu nennen, bezeichnet Dimensionierung als ungenaue Wissenschaft und setzt den Controller-Speicher irgendwo zwischen 200 MB für eine kleine Installation und 70 GB und mehr für eine große an. Klar sagt es aber, wo die Arbeit hingehört: keine Executoren auf dem Controller vergeben, weil ein Build ihn überlasten und mitreißen kann. Dimensionieren Sie den Controller also für Oberfläche, Plugins und Job-Historie und nehmen Sie Agents für die Builds. Ein Vorbehalt zur Abrechnungsform: ein fester Monats-Host kostet in einer ruhigen Woche dasselbe, gehostete CI-Minuten kosten dann nichts - Jenkins läuft üblicherweise an den meisten Tagen, und genau dann gewinnt das hier.

Ein erster Controller
16.49
pro Monat

Jetzt bestellen
ein kleines Team, Agents kommen später
2 vCPU
8 GB RAM
80 GB NVMe
1 statische IPv4
1 wöchentliches Backup inklusive
Ein Controller mit Agents
36.01
pro Monat

Jetzt bestellen
ein Controller mit Platz für Build-Historie
4 vCPU
16 GB RAM
240 GB NVMe
1 statische IPv4
1 wöchentliches Backup inklusive
Eine Build-Farm
65.98
pro Monat

Jetzt bestellen
viele Jobs, viele Agents, lange Historie
8 vCPU
32 GB RAM
320 GB NVMe
1 statische IPv4
1 wöchentliches Backup inklusive

Jenkins auf Debian oder Ubuntu installieren

Die stabile LTS-Linie, aus dem eigenen Repository des Jenkins-Projekts, in der Reihenfolge, die es dokumentiert. Java 21 oder neuer ist eine Anforderung, kein Vorschlag.

  1. Java installieren

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

    Jenkins benötigt Java 21 oder neuer. fontconfig steht im dokumentierten Befehl mit dabei, weil Plugins, die Bilder rendern, ohne es verwirrend scheitern.

  2. Das Jenkins-LTS-Repository hinzufügen

    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 ist die LTS-Linie; der schlichte debian-Pfad ist die wöchentliche. Der Signaturschlüssel wird rotiert - nehmen Sie den aktuellen Dateinamen von der Jenkins-Seite und nicht aus einer älteren Anleitung.

  3. Installieren und starten

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

    Jenkins lauscht auf Port 8080 und läuft als eigener Benutzer jenkins, mit allem Wesentlichen unter /var/lib/jenkins. Dieses Verzeichnis ist das, was Sie snapshotten und sichern.

  4. Die erste Anmeldung freischalten

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

    Öffnen Sie den Server auf Port 8080 und fügen Sie diesen Wert ein. Lassen Sie ihn während der Einrichtung nicht für das ganze Internet erreichbar - hängen Sie ihn hinter unser VPN-Gateway oder beschränken Sie Port 8080 zuerst auf Ihre Büroadresse.

  5. Die Builds vom Controller nehmen

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

    Das ist der eine Dimensionierungsrat, den die Jenkins-Dokumentation ausdrücklich gibt: Executoren auf dem Controller lassen zu, dass ein Build ihn überlastet und zum Absturz bringt. Setzen Sie den eingebauten Knoten auf null Executoren und nehmen Sie Agent-Hosts dazu, die sie generisch und austauschbar statt pro Job zugeschnitten empfiehlt.

  6. Einen Agent über SSH anbinden

    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

    Hinterlegen Sie den privaten Schlüssel als Credential vom Typ SSH Username with private key und legen Sie den Knoten mit der SSH-Startmethode an. Jede Agent-Verbindung kostet den Controller ein paar Threads und etwas über 2 MB - eine Handvoll Agents ist also nicht das, was einen Controller dimensioniert, sondern die Plugins und die Job-Historie.

Geprüft anhand der offiziellen Dokumentation am 2026-08-15 — Quelle lesen

Was wir nicht sind

  • Wir sind nicht das Jenkins-Projekt. Jenkins ist eine Marke der Linux Foundation und die Software gehört ihnen; nichts hier ist von ihnen unterstützt. Wir verkaufen die Maschine, auf der es läuft.
  • Wir pflegen Ihre Plugins nicht. An Plugin-Updates zerbrechen Jenkins-Installationen, und wer weiß, welche Ihrer 60 Plugins zählen, sitzt auf Ihrer Seite - ein Snapshot vor jedem Update allerdings auf unserer.
  • Wir migrieren Ihre Jobs nicht als Teil des Preises. Wir helfen mit dem Zeitfenster und der Kopie von JENKINS_HOME und kalkulieren den Rest, wenn Sie es gemacht statt begleitet haben wollen.
  • Es gibt hier keine verwaltete Jenkins-Steuerungsebene. Wenn jemand anderes die Updates vollständig verantworten soll, ist ein gehostetes CI-Produkt die ehrliche Antwort, und das hier ist es nicht.
  • Windows-Agents brauchen Windows-Server-Lizenzen, die wir auf dem Server liefern können, aber jede Werkzeuglizenz, die der Build braucht, bleibt Ihre.

Die Teile, die Teams zu spät entdecken

  • JENKINS_HOME ist die gesamte Installation - Konfiguration, Job-Historie, Zugangsdaten, Plugins. Sichern Sie das, und ein Controller ist in einer Stunde wiederherstellbar; lassen Sie es aus, ist er es gar nicht.
  • Snapshot vor jedem Plugin-Update. Es ist die Änderung, die ein funktionierendes Jenkins am ehesten lahmlegt, und ein Snapshot macht daraus ein Zurückrollen mit zwei Klicks.
  • Null Executoren auf dem Controller ist die dokumentierte Empfehlung, keine Vorliebe. Ein Build, der den Controller überlastet, nimmt die Weboberfläche mit.
  • Agents sollten austauschbar sein. Die Dokumentation plädiert für generische, ersetzbare Agents statt eines eigens konfigurierten Hosts pro Job, weil der eigens konfigurierte immer der ist, der gerade ausfällt.
  • Port 8080 ist kein Ort, an dem man ein unverschlossenes Jenkins stehen lässt. Hängen Sie es vor der ersten Anmeldung hinter ein VPN-Gateway oder eine Adressfreigabe, nicht danach.
  • Der Controller-Speicher skaliert mit Plugins, Job-Anzahl und Build-Historie, nicht damit, wie schwer die Builds sind - diese Last gehört den Agents.

Gehostete CI-Minuten gegen einen eigenen Runner

Gehostete CI-Minuten des AnbietersEin Runner bei DCXV
Wofür Sie zahlenJede Minute jedes Jobs, so lange das Projekt existiertEin fester Monats-Host, was die Pipeline in dem Monat auch tut
Ein Build, der langsamer wirdKostet jeden Monat mehr, in dem er langsam bleibtKostet nichts extra - die Maschine ist bereits bezahlt
Docker-Layer-CacheBei jedem Job kalt, sofern Sie ihn nicht selbst hoch- und herunterladenWarm auf lokalem NVMe, zwischen Jobs und zwischen Tagen
ParallelitätEine Tarifstufe, die Sie hochbuchenEine Zahl, die Sie in Ihrer eigenen Konfigurationsdatei setzen
Wo der Checkout landetEine geteilte Flotte, oft in einer Region, die Sie nicht festlegen könnenEine Maschine in Prag oder Covilhã, unter einem zyprischen Vertrag
Ausgehende AdresseEin großer geteilter Bereich, den nichts freigeben kannEine statische IPv4 aus AS204057, Ihre zum Freigeben
Was die Maschine tragen kannWas das Runner-Image zufällig mitbringtJede Toolchain, Lizenz oder jedes Fixture-Set, das Sie einmal installieren

So kommt das auf Ihrem Host in Gang

1

Sagen Sie, was die Pipeline tut

Der schwerste Job, den Sie heute fahren, wie viele davon gleichzeitig laufen sollen und ob Container-Images gebaut werden. Das reicht, um einen Host ohne Raten zu dimensionieren.

2

Wir übergeben die Maschine

Prag oder Covilhã, Root-Zugang und eine statische IPv4, in unter zehn Minuten. Bringen Sie Ihr eigenes Image mit, wenn der Runner schon darin steckt.

3

Folgen Sie der Anleitung auf dieser Seite

Es ist die Abfolge des Herstellers, aus dessen aktueller Dokumentation genommen statt aus einem Blogbeitrag, und sie dauert auf einem sauberen Host wenige Minuten.

4

Snapshot machen, dann den zweiten dazunehmen

Machen Sie einen Snapshot, sobald die erste Pipeline grün ist - dann ist die nächste Maschine eine Wiederherstellung statt eines Neuaufbaus. Ein Pool wächst durch weitere Hosts, nicht dadurch, einen riesig zu machen.

Warum uns wählen

  • Tier-III-zertifizierte Einrichtungen, 99,982 % Facility-SLA
  • Eigenes Netz, AS204057, IPv4 und IPv6 Dual-Stack
  • Support 24/7/365 mit rund 10 Minuten durchschnittlicher Reaktionszeit
  • Zyprische Gesellschaft, EU-Gerichtsbarkeit, DSGVO-konform seit 2007

FAQ

- Was brauche ich, um Jenkins auf Ubuntu oder Debian zu installieren?

Java 21 oder neuer, dann das apt-Repository des Jenkins-Projekts. Installieren Sie fontconfig und openjdk-21-jre, fügen Sie Keyring und sources-Zeile für debian-stable von pkg.jenkins.io hinzu, apt install jenkins, aktivieren und starten Sie den Dienst und schalten Sie ihn dann mit dem Wert aus /var/lib/jenkins/secrets/initialAdminPassword frei. Jenkins lauscht auf Port 8080. Die vollständige Abfolge steht auf dieser Seite

- Wie viel RAM braucht ein Jenkins-Controller?

Das Jenkins-Projekt weigert sich bewusst, eine Zahl zu nennen, bezeichnet Dimensionierung als ungenaue Wissenschaft und setzt den Controller-Speicher irgendwo zwischen 200 MB für eine kleine Installation und 70 GB oder mehr für eine sehr große an. Was ihn skaliert, sind Plugins, Job-Anzahl und Build-Historie, nicht die Schwere der Builds - denn die Builds sollten nicht auf dem Controller laufen. 8 GB sind ein bequemer Start für ein kleines Team

- Sollten Builds auf dem Jenkins-Controller laufen?

Nein, und die Dokumentation sagt es direkt: Executoren auf einem Controller zu vergeben ist schlechte Praxis, weil ein Build dessen CPU oder Speicher überlasten und ihn zum Absturz bringen kann. Setzen Sie den eingebauten Knoten auf null Executoren und nehmen Sie Agents dazu. Das Projekt empfiehlt außerdem, Agents generisch und austauschbar zu halten, statt einen Host pro Job zuzuschneiden

- Wie sichere ich Jenkins?

JENKINS_HOME, bei einer Paketinstallation /var/lib/jenkins, ist die gesamte Installation: Konfiguration, Job-Definitionen, Build-Historie, Zugangsdaten und Plugins. Sichern Sie das, und ein Controller ist in einer Stunde wiederherstellbar. Jeder Tarif hier enthält ein Backup, und ein Snapshot vor jedem Plugin-Update macht aus der Änderung, die Jenkins am ehesten lahmlegt, ein Zurückrollen mit zwei Klicks

- Wie binde ich einen Build-Agent an?

Der übliche Weg ist SSH: erzeugen Sie einen Schlüssel als Benutzer jenkins, legen Sie die öffentliche Hälfte auf dem Agent-Host ab, hinterlegen Sie die private Hälfte als SSH-Credential und legen Sie den Knoten mit der SSH-Startmethode an. Jede Agent-Verbindung kostet den Controller ein paar Threads und etwas über 2 MB, Agents sind also nicht das, was einen Controller dimensioniert

- Ist es sicher, Jenkins auf Port 8080 zu lassen?

Nicht im offenen Internet. Hängen Sie es vor der ersten Anmeldung hinter unser VPN-Gateway oder beschränken Sie den Port auf Ihre eigenen Adressen, nicht danach - das anfängliche Administratorpasswort liegt in einer Datei auf einem Server, der bis dahin der ganzen Welt antwortet. Eine statische IPv4 aus AS204057 macht auch die Freigabe auf der Gegenseite unkompliziert

Wenn Sie Hilfe benötigen oder zusätzliche Fragen haben, wenden Sie sich bitte an die Manager oder schreiben Sie an das Support-Team unter support@dcxv.com

Bereit anzufangen?

Monatliche Abrechnung, keine Einrichtungsgebühr, keine Bindung

Cloud-Server ab 15 €/Mon.