So installierst du Jenkins unter Ubuntu 22.04

Jenkins ist ein Open-Source-Automatisierungswerkzeug für Continuous Integration/Continuous Delivery (CI/CD). Jenkins ist vollständig in Java geschrieben und unterstützt mehr als 1000 Plugins für die Erstellung, Bereitstellung und Automatisierung deines Projekts. Jenkins ist eines der führenden Automatisierungstools, das deinen Entwicklungsprozess durch Automatisierung beschleunigt. Jenkins integriert Entwicklungsprozesse wie Build, Document, Test, Package, Stage, Deploy, Static Analysis und viele mehr.

Jenkins unterstützt mehrere Versionskontrollwerkzeuge wie Git, Subversion, Mercurial, CVS, Perforce und RTC. Außerdem kann es Apache Ant, Apache Maven, Shell-Skripte und Windows-Batch-Befehle ausführen. Jenkins wird von einer starken Community unterstützt und verfügt über eine umfangreiche Dokumentation und ein Wiki, was Jenkins zu einem der meistgenutzten CI/CD-Automatisierungswerkzeuge macht. Außerdem bietet es viele verschiedene Werkzeuge, Sprachen und Automatisierungsaufgaben, um deinen Entwicklungs- und Bereitstellungsprozess zu automatisieren.

In diesem Tutorial erfährst du, wie du Jenkins auf dem neuesten Ubuntu 22.04 installierst. Außerdem lernst du, wie du Apache2 als Reverse Proxy für Jenkins einrichtest und darüber eine SSL-Verbindung aktivierst. Schließlich erfährst du auch, wie du das erste Jenkins-Build-Projekt für die Ausführung von Shell-Skripten oder -Befehlen erstellst.

Voraussetzung

  • Ein Ubuntu 20.04 Server
  • Ein Nicht-Root-Benutzer mit Root-Administrator-Rechten.

Java installieren

In diesem ersten Schritt installierst du das Java OpenJDK und JRE auf deinem Ubuntu-System. Die neueste Version von Jenkins benötigt Java v11, das du nun auf deinem System installieren musst.

Bevor du mit der Installation der Pakete beginnst, führe den folgenden apt-Befehl aus, um dein Ubuntu-Repository zu aktualisieren und aufzufrischen.

sudo apt update

Installiere nun das Java OpenJDK 11 mit dem folgenden Befehl.

sudo apt install openjdk-11-jre

Gib zur Bestätigung Y ein und drücke ENTER, um die Installation zu starten. Die Installation von Java OpenJDK wird nun gestartet.

java openjdk installieren

Nachdem die Installation abgeschlossen ist, führe den folgenden Java-Befehl aus, um die Java-Version zu prüfen und zu verifizieren.

java --version

Auf dem folgenden Screenshot kannst du sehen, dass Java OpenJDK 11 auf dem Ubuntu 22.04 Rechner installiert ist.

java prüfen

Jenkins installieren

Nachdem du nun Java auf deinem Ubuntu-System installiert hast, kannst du Jenkins auf dem Ubuntu 22.04-Rechner installieren.

Es gibt mehrere Möglichkeiten, Jenkins zu installieren. Am einfachsten ist es, das vorgefertigte Jenkins-Paket aus dem offiziellen Jenkins-Repository zu verwenden. Dazu musst du das Jenkins-Repository zu deinem Ubuntu-System hinzufügen.

Führe den folgenden Befehl aus, um den GPG-Schlüssel für das Jenkins-Repository hinzuzufügen.

curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

Danach fügst du das Jenkins-Repository mit dem unten stehenden Befehl zu deinem System hinzu.

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

Führe nun den folgenden apt-Befehl aus, um alle Repositories deines Systems zu aktualisieren und aufzufrischen.

sudo apt update

Auf dem Screenshot unten siehst du, dass das Jenkins-Repository hinzugefügt wurde.

Jenkins-Repository hinzufügen

Als Nächstes kannst du Jenkins mit dem unten stehenden apt-Befehl installieren.

sudo apt install jenkins

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren. Die Jenkins-Installation wird nun gestartet.

install jenkins

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um den Jenkins-Dienst zu starten und zu aktivieren.

sudo systemctl start jenkins
sudo systemctl enable jenkins

Überprüfe nun den Jenkins-Dienst mit dem folgenden Befehl.

sudo systemctl status jenkins

Auf dem folgenden Screenshot ist der Jenkins-Dienst aktiv und läuft. Er läuft auf localhost mit dem Standardport 8080. Außerdem ist Jenkins jetzt aktiviert, d.h. er wird beim Systemstart automatisch ausgeführt.

start enable verify jenkins service

Einrichten von Apache2 als Reverse Proxy

Jetzt ist Jenkins auf der Standardadresse localhost mit dem Port 8080 eingerichtet und läuft. Jetzt installierst und konfigurierst du den Apache2-Webserver als Reverse-Proxy für Jenkins.

Der Apache2-Webserver wird vor dem Jenkins-Dienst laufen und die Standard-HTTP- und -HTTPS-Ports für den Client-Zugriff öffnen.

Führe den folgenden apt-Befehl aus, um das apache2-Paket auf deinem System zu installieren.

sudo apt install apache2

Gib Y ein, um die Installation zu bestätigen und drücke ENTER, um fortzufahren.

apache2 installieren

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um einige apache2-Module zu aktivieren, die für die Reverse-Proxy-Konfiguration benötigt werden.

sudo a2enmod ssl rewrite headers proxy proxy_http

Jetzt siehst du eine Ausgabe wie im folgenden Screenshot.

Apache2-Module aktivieren

Als Nächstes erstellst du mit dem Editor nano eine neue virtuelle Hostkonfiguration /etc/apache2/sites-available/jenkins.conf.

sudo nano /etc/apache2/sites-available/jenkins.conf

Füge die folgende Konfiguration in die Datei ein. Achte darauf, dass du den Domainnamen und den Pfad der SSL-Zertifikate änderst.

<VirtualHost *:80>
    ServerAdmin  webmaster@localhost
    Redirect permanent / https://jenkins.hwdomain.io/
</VirtualHost>
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/jenkins.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/jenkins.hwdomain.io/privkey.pem
ServerAdmin  webmaster@localhost
ProxyRequests     Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass         /  http://localhost:8080/ nocanon
ProxyPassReverse  /  http://localhost:8080/
ProxyPassReverse  /  http://jenkins.hwdomain.io/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die Konfiguration des virtuellen Hosts jenkins.conf zu aktivieren.

sudo a2ensite jenkins.conf

Danach überprüfst du alle deine Apache2-Konfigurationen mit dem unten stehenden Befehl.

sudo apachectl configtest

Vergewissere dich, dass du die Meldung„Syntax OK“ erhältst. Das bedeutet, dass alle Apache2-Konfigurationen korrekt sind.

Zum Schluss führst du den unten stehenden Befehl aus, um den Apache2-Dienst neu zu starten und die neuen Änderungen an deiner Apache2-Konfiguration zu übernehmen.

sudo systemctl restart apache2

Jetzt ist der Apache2-Webserver mit der Reverse-Proxy-Konfiguration für Jenkins betriebsbereit.

Apache2 Reverse Proxy Jenkins einrichten

Jenkins-Installation starten

Jetzt kannst du die Installation und Konfiguration von Jenkins über deinen Webbrowser starten. Bevor du jedoch mit der Konfiguration von Jenkins beginnst, musst du die Passwortinitialisierung für Jenkins anfordern und erhalten.

Die Passwortinitialisierung für Jenkins ist in der Datei /var/lib/jenkins/secrets/initialAdminPassword zu finden. Diese Datei enthält das generierte geheime Passwort für die Initialisierung deiner Jenkins-Installation.

Führe den folgenden Befehl aus, um das Jenkins-Initialpasswort zu überprüfen und zu erhalten.

ls /var/lib/jenkins/secrets/initialAdminPassword
cat /var/lib/jenkins/secrets/initialAdminPassword

Auf dem Screenshot unten siehst du eine zufällige Zeichenfolge, die von Jenkins generiert wurde. Du kannst ein anderes Zufallspasswort haben.

Kopiere das anfängliche geheime Passwort auf deinen Zettel, damit du es später für die Einrichtung von Jenkins verwenden kannst.

passwort einitialisierung jenkins

Öffne deinen Webbrowser und rufe die URL für deine Jenkins-Installation auf (z.B. https://jenkins. hwdomain.io).

Auf der ersten Seite wirst du aufgefordert, das Initialisierungspasswort für Jenkins einzugeben. Gib dein geheimes Passwort ein, um die Jenkins-Installation und -Konfiguration zu initialisieren, und klicke dann auf Weiter.

jenkins passwort initialisierung

Klicke nun auf die Schaltfläche„Vorgeschlagene Plugins installieren“, um die Jenkins-Konfiguration mit zusätzlichen Plugins zu starten. Diese Option ist für Anfänger geeignet, da dadurch automatisch einige Jenkins-Plugins installiert werden, die du für dein Projekt benötigst.

vorgeschlagene Plugins installieren

Jetzt beginnt die Installation der Jenkins-Plugins und startet.

jenkins-Plugins installieren

Nachdem der Installationsprozess abgeschlossen ist, wirst du aufgefordert, einen neuen Admin-Benutzer für Jenkins anzulegen.

Gib den neuen Admin-Benutzer, das Passwort, die E-Mail-Adresse und den vollständigen Namen für deine Jenkins-Installation ein und klicke auf die Schaltfläche Speichern und weiter.

jenkins admin einrichten

Für die Jenkins-Installations-URL gibst du deine Jenkins-Domäne ein und klickst auf Speichern und Fertigstellen.

jenkins url einrichten

Nun wird die folgende Seite angezeigt. Klicke auf die Schaltfläche Neustart, um den Jenkins-Dienst neu zu starten und die neuen Konfigurationen anzuwenden.

restart jenkins

Sobald Jenkins neu gestartet ist, rufst du erneut den Domainnamen deiner Jenkins-Installations-URL auf und rufst die Login-Seite von Jenkins auf.

Gib deinen Admin-Benutzer und dein Passwort für Jenkins ein und klicke auf Anmelden.

Anmeldung bei Jenkins

Sobald du dich eingeloggt hast, siehst du das folgende Jenkins Dashboard.

Jenkins Armaturenbrett

Du hast Jenkins nun erfolgreich auf dem neuesten Ubuntu 22.04 mit Apache2 als Reverse Proxy für deinen Einsatz installiert und konfiguriert.

Erstellen des ersten Jenkins-Builds

Nachdem du Jenkins erfolgreich installiert und konfiguriert hast, erstellst du nun einen neuen ersten Jenkins-Build über das Jenkins-Dashboard.

Klicke im Jenkins-Dashboard auf das Menü Neues Element, um ein neues Jenkins-Build-Projekt zu erstellen.

jenkins create build

Gib den Namen des Projekts ein, wähle den Projekttyp und klicke dann auf OK. In dieser Demo lautet der Name des Projekts „first build“ und der Projekttyp„Freestyle project„.

Freestyle Jenkins Build erstellen

Gib imAbschnitt „Allgemeines“ die Beschreibung deines Builds ein.

Wechsle nun zur Registerkarte„Build“ und wähle als Build„Execute shell“ und gib den folgenden Befehl als Build-Befehl ein.

echo "This is test build on jenkins"

Bei diesem Projekt wird in der Jenkins-Build-Ausgabe nur die Meldung „This is a test build on jenkins“ angezeigt.

Klicke jetzt auf die Schaltfläche “ Speichern „.

setup build execute shell

Klicke nun im Detailprojekt„first build“ auf das Menü„Build Now„, um den Jenkins-Build zu starten und auszuführen.

Projekt bauen

Nachdem der Prozess abgeschlossen ist, siehst du im unteren Menü den Abschnitt „Build History“, wie auf dem folgenden Screenshot.

Klicke auf die Build-Nummer, um Details über den abgeschlossenen Build-Vorgang zu erhalten.

jenkins build history

Klicke nun auf das Menü„Konsolenausgabe“ und du erhältst die Ausgabe deines ersten Jenkins-Builds, nämlich die Meldung„Dies ist ein Test-Build auf Jenkins„. Und der Jenkins-Build ist ein Erfolg.

Build-Ausgabe Jenkins

Fazit

Herzlichen Glückwunsch! Du hast Jenkins nun erfolgreich auf dem neuesten Ubuntu 22.04 Server mit Apache2 als Reverse Proxy mit aktivierter sicherer HTTPS-Verbindung installiert. Außerdem hast du die grundlegende Initialisierung und Einrichtung von Jenkins gelernt und das erste einfache Build-Projekt mit Jenkins erstellt.

Das könnte dich auch interessieren …