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.
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.
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.
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.
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.
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.
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.
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.
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.
Ö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.
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.
Jetzt beginnt die Installation der Jenkins-Plugins und startet.
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.
Für die Jenkins-Installations-URL gibst du deine Jenkins-Domäne ein und klickst auf Speichern und Fertigstellen.
Nun wird die folgende Seite angezeigt. Klicke auf die Schaltfläche Neustart, um den Jenkins-Dienst neu zu starten und die neuen Konfigurationen anzuwenden.
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.
Sobald du dich eingeloggt hast, siehst du das folgende Jenkins Dashboard.
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.
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„.
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 „.
Klicke nun im Detailprojekt„first build“ auf das Menü„Build Now„, um den Jenkins-Build zu starten und auszuführen.
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.
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.
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.