Tutorial
Installieren von Jenkins unter Ubuntu 20.04
Einführung
Wenn es um die Bewältigung sich wiederholender technischer Aufgaben geht, ist es nicht immer einfach, gute Automatisierungslösungen zu finden. Mit Jenkins, einem Open-Source-basierten Automatisierungsserver, können Sie Aufgaben von der Erstellung bis zur Bereitstellung von Software effizient verwalten. Jenkins ist Java-basiert und wird aus Ubuntu-Paketen bzw. durch Herunterladen und Ausführen der entsprechenden WAR-Datei (Web Application Archive) installiert: Dabei handelt es sich um eine Sammlung von Dateien, die eine vollständige Webanwendung ergeben, die sich auf einem Server ausführen lässt.
In diesem Tutorial installieren wir Jenkins unter Ubuntu 20.04, starten den Entwicklungsserver und erstellen einen Administratorbenutzer, sodass Sie damit beginnen können, die Möglichkeiten von Jenkins zu erkunden. Zwar verfügen Sie nach Abschluss dieses Tutorials über einen einsatzbereiten Entwicklungsserver, doch sollten Sie ihn für die Produktion noch sichern. Folgen Sie dazu dem Tutorial Konfigurieren von Jenkins mit SSL unter Verwendung eines Nginx-Reverseproxy unter Ubuntu 18.04.
Voraussetzungen
Um dieser Anleitung zu folgen, benötigen Sie:
- Einen Ubuntu 20.04-Server, der anhand der Anleitung Ersteinrichtung des Servers unter Ubuntu 20.04 mit einem non-root user, der über sudo-Berechtigungen verfügt, und einer Firewall konfiguriert wurde. Wir empfehlen Ihnen, mit mindestens 1 GB RAM zu beginnen. Konsultieren Sie „Hardwareempfehlungen“ für Anweisungen zur Planung der Kapazität einer Jenkins-Installation auf Produktionsebene.
- Oracle JDK 11, installiert anhand unserer Richtlinien zum Installieren spezifischer Versionen von OpenJDK unter Ubuntu 20.04.
Schritt 1 — Installieren von Jenkins
Die Version von Jenkins, die in den standardmäßigen Ubuntu-Paketen enthalten ist, ist oft älter als die neueste verfügbare Version des Projekts selbst. Um sicherzustellen, dass Sie über die neuesten Korrekturen und Funktionen verfügen, verwenden Sie die vom Projekt gepflegten Pakete zur Installation von Jenkins.
Fügen Sie zunächst den Repository-Schlüssel zum System hinzu:
- wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
Nach dem Hinzufügen des Schlüssels gibt das System OK
zurück.
Als Nächstes fügen wir die Adresse für das Debian-Paket-Repository in die sources.list
des Servers ein:
- sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Nach Eingabe beider Befehle werden wir update
ausführen, damit apt
das neue Repository nutzt.
- sudo apt update
Schließlich installieren wir Jenkins und seine Abhängigkeiten.
- sudo apt install jenkins
Nachdem Jenkins und seine Abhängigkeiten vorhanden sind, starten wir nun den Jenkins-Server.
Schritt 2 — Starten von Jenkins
Starten wir Jenkins durch Verwendung von systemctl
:
sudo systemctl start jenkins
Da systemctl
keine Statusausgabe anzeigt, nutzen wir den status
-Befehl zum Überprüfen, ob Jenkins erfolgreich gestartet wurde:
- sudo systemctl status jenkins
Wenn alles geklappt hat, zeigt der Anfang der Statusausgabe an, dass der Dienst aktiv und so konfiguriert ist, dass er beim Booten gestartet wird:
Output● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Fri 2020-06-05 21:21:46 UTC; 45s ago
Docs: man:systemd-sysv-generator(8)
Tasks: 0 (limit: 1137)
CGroup: /system.slice/jenkins.service
Nachdem Jenkins ausgeführt wird, sollten wir nun unsere Firewall-Regeln so anpassen, dass wir den Server über einen Webbrowser erreichen können. Damit ist die Ersteinrichtung abgeschlossen.
Schritt 3 — Öffnen der Firewall
Um eine UFW-Firewall einzurichten, konsultieren Sie Ersteinrichtung des Servers mit Ubuntu 20.04, Schritt 4 — Einrichten einer einfachen Firewall. Standardmäßig wird Jenkins an Port 8080
ausgeführt. Wir öffnen diesen Port mit ufw
:
- sudo ufw allow 8080
Anmerkung: Wenn die Firewall inaktiv ist, können Sie mit folgenden Befehlen OpenSSH zulassen und die Firewall aktivieren:
- sudo ufw allow OpenSSH
- sudo ufw enable
Überprüfen Sie zum Bestätigen der neuen Regeln den Status von ufw
:
- sudo ufw status
Sie werden feststellen, dass Datenverkehr an Port 8080
von überall zugelassen ist:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8080 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
Nach der Installation von Jenkins und der Konfiguration unserer Firewall können wir die Installationsphase abschließen und mit der Einrichtung von Jenkins beginnen.
Schritt 4 — Einrichten von Jenkins
Um Ihre Installation einzurichten, rufen Sie Jenkins an seinem Standardport 8080
auf, indem Sie den Domänennamen oder die IP-Adresse Ihres Servers verwenden: http://your_server_ip_or_domain:8080
Sie sollten den Bildschirm Unlock Jenkins (Jenkins entsperren) erhalten, in dem der Speicherort des ersten Passworts angezeigt wird:
Verwenden Sie im Terminalfenster den Befehl cat
zum Anzeigen des Passworts:
- sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Kopieren Sie das 32 Zeichen lange alphanumerische Passwort aus dem Terminal und fügen Sie es in das Feld Administrator password (Administratorkennwort) ein. Klicken Sie dann auf Continue (Weiter).
Im nächsten Bildschirm wird die Option zum Installieren empfohlener Plugins oder Auszuwählen spezifischer Plugins angezeigt:
Wir klicken auf die Option Install suggested plugins (Empfohlene Plugins installieren), woraufhin der Installationsprozess unmittelbar beginnt.
Nach Abschluss der Installation werden Sie aufgefordert, den ersten Administratorbenutzer einzurichten. Es ist möglich, diesen Schritt überspringen und als admin
mit dem oben verwendeten ursprünglichen Passwort fortzufahren, aber wir werden uns einen Moment Zeit nehmen, um den Benutzer zu erstellen.
Anmerkung: Der standardmäßige Jenkins-Server ist NICHT verschlüsselt, sodass die mit diesem Formular übermittelten Daten nicht geschützt sind. Siehe Konfigurieren von Jenkins mit SSL unter Verwendung eines Nginx-Reverseproxy unter Ubuntu 20.04, um Anmeldedaten von Benutzern und Informationen über Builds, die über die Weboberfläche übertragen werden, zu schützen.
Geben Sie den Namen und das Passwort für Ihren Benutzer ein:
Sie sehen eine Seite zur Instance Configuration (Instanzkonfiguration), auf der Sie dazu aufgefordert werden, die bevorzugte URL für Ihre Jenkins-Instanz zu bestätigen. Bestätigen Sie entweder den Domänennamen für Ihren Server bzw. die IP-Adresse Ihres Servers:
Nach der Bestätigung der entsprechenden Daten klicken Sie auf Save and Finish (Speichern und Fertigstellen). Sie erhalten eine Seite mit der Bestätigung, dass „Jenkins is Ready!“ (Jenkins bereit ist):
Klicken Sie auf Start using Jenkins (Mit Verwendung von Jenkins beginnen), um das Haupt-Dashboard von Jenkins aufzurufen:
Jetzt haben Sie die Installation von Jenkins erfolgreich abgeschlossen.
Zusammenfassung
In diesem Tutorial haben Sie Jenkins mit den vom Projekt bereitgestellten Paketen installiert, den Server gestartet, die Firewall geöffnet und einen Administratorbenutzer erstellt. Nun können Sie mit der Erkundung von Jenkins beginnen.
Folgen Sie danach Abschluss dem Leitfaden Konfigurieren von Jenkins mit SSL unter Verwendung eines Nginx-Reverseproxy unter Ubuntu 20.04, um Ihre Passwörter sowie sensible System- oder Produktdaten, die zwischen dem Computer und dem Server in Klartext übertragen werden, zu schützen. Anschließend können Sie Jenkins weiter nutzen.
Um mehr über die Funktionen von Jenkins zu erfahren, lesen Sie weitere Tutorials zu dem Thema: