Jenkins Anleitung · 5 min read · Dec 19, 2025

So richten Sie Jenkins Master und Slave auf Ubuntu ein

Jenkins ist ein Automatisierungsserver, der aus dem Hudson-Projekt abgeleitet wurde. Er unterstützt viele SCM (Source Control Management) Software-Systeme, darunter Git, SVN und Mercurial. Jenkins bietet Hunderte von Plugins, um Ihr Projekt zu automatisieren. Jenkins bietet Unterstützung für eine Master/Slave-Architektur, die es ermöglicht, eine große Anzahl von Projekt-Bauten zu hosten.

Wie funktioniert Jenkins ‘Master/Slave’?

Die Jenkins Master/Slave-Architektur wird für verteilte Build-Umgebungen verwendet, in denen die Arbeitslast des Bauens von Projekten auf mehrere Agentenknoten verteilt wird, und wir können unterschiedliche Umgebungen für jeden Build verwenden.

In der Jenkins ‘Master/Slave’-Architektur repräsentiert sich ein Master als eine grundlegende Jenkins-Installation und übernimmt alle Aufgaben für das Build-System. Der Jenkins-Masterknoten wird verwendet, um Jobs zu planen, Slave-Knoten zu überwachen, Builds an Slave-Knoten zu versenden, die Build-Ergebnisse aufzuzeichnen und darzustellen sowie Build-Jobs direkt auszuführen.

Die Jenkins-Slave-Knoten werden eingerichtet, um Build-Projekte vom Master zu entlasten, und es ist eine etablierte Verbindung zwischen dem Master und den Slaves erforderlich. Jenkins-Slave-Knoten können auf verschiedenen Betriebssystemen wie Windows und Linux ausgeführt werden, und es ist nicht erforderlich, vollständige Jenkins-Pakete darauf zu installieren.

Dieses Tutorial wird uns beibringen, wie man die Jenkins Master-Slave-Architektur mit der neuesten Ubuntu-Version einrichtet. Wir werden lernen, den Jenkins-Master-Server einzurichten und andere Ubuntu-Knoten als Jenkins-Slaves hinzuzufügen.

Voraussetzungen

  • Ubuntu Server (Ubuntu 22.04 - Ubuntu 16.04) - Master - 10.0.15.10
  • Slave01 - 10.0.15.21
  • Slave02 - 10.0.15.22
  • Root-Rechte

Was werden wir tun?

  1. Jenkins Master installieren
  2. Jenkins Master-Anmeldeinformationen konfigurieren
  3. Slave-Agent-Knoten konfigurieren
  4. Neue Slave-Knoten hinzufügen
  5. Slave-Agent-Knoten vorbereiten, um Builds auszuführen
  6. Testen

Schritt 1 - Jenkins Master installieren

In diesem Tutorial werden wir die grundlegende Jenkins-Installation nicht behandeln. Mehrere Artikel auf HowtoForge behandeln die Jenkins-Installation.

  • Jenkins auf Ubuntu 16.04 installieren
  • Jenkins auf Ubuntu 18.04 installieren
  • Jenkins auf Ubuntu 20.04 installieren
  • Jenkins auf Ubuntu 22.04 installieren
  • Jenkins auf CentOS 7 installieren

Nachfolgend ist unser Ubuntu-Master-Server mit installiertem Jenkins.

Install Jenkins Master

Schritt 2 - Jenkins Master-Anmeldeinformationen konfigurieren

Nachdem Sie den Master-Server Jenkins installiert haben, müssen wir den Master-Server selbst konfigurieren. Standardmäßig gibt es verschiedene Möglichkeiten, Jenkins-Agent-Knoten zu starten. Wir können die Agent-Knoten über SSH, ein Windows-Administratorkonto und über Java Web Start (JNLP) starten. Wählen Sie die beste Methode je nach Ihrer Umgebung und Ihrem Betriebssystem aus.

Für diesen Leitfaden werden wir die Agent-Knoten über SSH starten, und wir müssen die Jenkins-Anmeldeinformationen auf unserem Master-Server einrichten.

SSH-Schlüssel generieren

Wir werden die SSH-Schlüssel-Authentifizierung verwenden, um unsere Agent-Knoten einzurichten, daher müssen wir den SSH-Schlüssel für den Jenkins-Benutzer generieren und dann den Schlüssel manuell auf jeden Serverknoten mit ‘ssh-copy-id’ hochladen.

Melden Sie sich auf dem Jenkins-Master-Server beim Jenkins-Benutzer an und generieren Sie den SSH-Schlüssel.

su - jenkins  
ssh-keygen

Und Sie erhalten den ‘id_rsa’ privaten und ‘id_rsa.pub’ öffentlichen Schlüssel im ‘.ssh’-Verzeichnis.

Generate SSH Key

Anmeldeinformationen in Jenkins einrichten

Öffnen Sie Ihr Jenkins-Dashboard und klicken Sie im linken Menü auf ‘Anmeldeinformationen’.

Setup Credentials on Jenkins

Und klicken Sie auf den Link ‘global’.

Jetzt klicken Sie auf ‘Anmeldeinformationen hinzufügen’.

Add Credentials

Wählen Sie jetzt die Authentifizierungsmethode aus.

  • Art: SSH-Benutzername mit privatem Schlüssel
  • Geltungsbereich: Global
  • Benutzername: jenkins
  • Privater Schlüssel: Direkt eingeben und den ‘id_rsa’ privaten Schlüssel des Jenkins-Benutzers vom Master-Server einfügen.

Klicken Sie auf ‘OK’.

choose the authentication method

Und die Jenkins-Anmeldeinformationen mit der SSH-Auth-Schlüssel-Methode wurden erstellt.

Jenkins credential with ssh auth key method have been created

Schritt 3 - Slave-Knoten einrichten

Jetzt werden wir die Slave-Knoten-Server einrichten, indem wir Java auf diesen Servern installieren und einen neuen Jenkins-Benutzer erstellen.

Java installieren

Installieren Sie die Pakete ‘software-properties-common’ und fügen Sie das Java PPA-Repository hinzu.

sudo apt install software-properties-common apt-transport-https -y  
sudo add-apt-repository ppa:openjdk-r/ppa -y

Jetzt installieren Sie Java OpenJDK mit dem folgenden apt-Befehl.

sudo apt install openjdk-8-jdk -y

Nach Abschluss der Installation überprüfen Sie die installierte Java-Version.

java -version

Und Sie werden Java OpenJDK 1.8 auf dem System installiert haben.

Neuen Jenkins-Benutzer hinzufügen

Jetzt fügen Sie den ‘Jenkins’-Benutzer zu allen Agent-Knoten hinzu.

Führen Sie den folgenden Befehl aus.

useradd -m -s /bin/bash jenkins  
passwd Jenkins

Der ‘Jenkins’-Benutzer für die Agent-Knoten wurde erstellt.

Add New Jenkins User

SSH-Schlüssel vom Master zum Slave kopieren

Als Nächstes müssen wir den Schlüssel ‘id_rsa.pub’ vom Master zu den Slave-Serverknoten hochladen. Wir müssen zu jedem Serverknoten mit dem Befehl ‘ssh-copy-id’ hochladen, wie unten.

ssh-copy-id [email protected]  
ssh-copy-id [email protected]

Geben Sie das Passwort des Jenkins-Benutzers ein.

Der SSH-Schlüssel ‘id_rsa.pub’ wurde auf alle Agent-Knoten hochgeladen.

Copy the SSH Key from Master to Slave

Schritt 4 - Neue Slave-Knoten hinzufügen

Klicken Sie im Jenkins-Dashboard auf das Menü ‘Jenkins verwalten’ und dann auf ‘Knoten verwalten’.

Add New Slave Nodes

Klicken Sie auf ‘Neuer Knoten’.

New Node

Geben Sie den Knotennamen ‘slave01’ ein, wählen Sie den ‘permanenten Agenten’ aus und klicken Sie auf ‘OK’.

node name

Geben Sie nun die Knotendetails ein.

  • Beschreibung: slave01 Knoten-Agent-Server
  • Remote-Stammverzeichnis: /home/jenkins
  • Labels: slave01
  • Startmethode: Slave-Agent über SSH starten, geben Sie die Host-IP-Adresse ‘10.0.15.21’ ein, wählen Sie die Authentifizierung mit ‘Jenkins’-Anmeldeinformationen aus.

node information

Klicken Sie nun auf die Schaltfläche ‘Speichern’ und warten Sie, bis der Master-Server eine Verbindung zu allen Agent-Knoten herstellt und die Agent-Dienste startet.

Nachfolgend sind die Ergebnisse aufgeführt, wenn der Master-Server mit allen Agent-Knoten verbunden ist.

master server is connected to all agent nodes

Jenkins-Slave-Knoten wurden zum Master-Server hinzugefügt.

Schritt 5 - Slave-Agent-Knoten vorbereiten, um Builds auszuführen

In diesem Schritt werden wir den Jenkins-Master so konfigurieren, dass er Builds auf den Slave-Agent-Knoten ausführt.

Klicken Sie auf das Menü ‘Jenkins verwalten’ und dann auf ‘System konfigurieren’.

Prepare Slave Agent Nodes to Execute Build

Gehen Sie nun zum Abschnitt ‘Slave-Setups’ und definieren Sie alles, was Sie benötigen, wie unten gezeigt.

the 'Slave Setups' section

Weitere Informationen zu den ‘Slave Setups’ finden Sie im Link.

Klicken Sie auf die Schaltfläche ‘Speichern’, und jetzt sind wir bereit, Builds auf den Slave-Agent-Knoten auszuführen.

Schritt 6 - Testen

Jetzt möchten wir einen neuen einfachen Build für Jenkins erstellen und den Build auf den beiden Agent-Knoten ‘slave01’ und ‘slave02’ ausführen.

Klicken Sie im Jenkins-Dashboard auf das Menü ‘Neues Element’.

Testing Jenkins

Geben Sie den Elementnamen ein, wählen Sie das Freestyle-Projekt aus und klicken Sie auf ‘OK’.

Add Freestyle project

Geben Sie im allgemeinen Abschnitt die Jobbeschreibung ein und aktivieren Sie die Option ‘Einschränken, wo dieses Projekt ausgeführt werden kann’.

Geben Sie im Feld ‘Label-Ausdruck’ den Knoten wie ‘slave01’ an.

Select a node

Gehen Sie zum Build-Bereich und wählen Sie die Option ‘Shell ausführen’, geben Sie den Befehl wie unten ein.

top -b -n 1 | head -n 10 && hostname

Klicken Sie auf die Schaltfläche ‘Speichern’, und Sie werden zur Jobseite weitergeleitet.

Job page

Klicken Sie auf ‘Jetzt bauen’, um das Projekt zu bauen, und klicken Sie dann auf das Element im Abschnitt ‘Build-Verlauf’.

Build now

Und das folgende ist mein Ergebnis.

Build auf dem Agent-Knoten ‘slave01’.

Jenkins script result output

Build auf dem Agent-Knoten ‘slave02’.

Build on node 02

Die Installation und Konfiguration der Jenkins Master/Slave-Architektur und der verteilten Builds von Jenkins wurden erfolgreich abgeschlossen.

Referenzen

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.