Jenkins ist ein Open-Source-Automatisierungsserver, der Entwicklern hilft, den Softwareentwicklungsprozess einschließlich Build, Test und Bereitstellung zu automatisieren. Mit Jenkins können Sie alle Codeänderungen in GitHub, Bitbucket oder GitLab verwalten und überwachen und den Code mithilfe von Tools wie Maven und Gradle automatisch erstellen. Mit Jenkins können Sie die Arbeit effizient auf mehrere Computer verteilen.
In dieser Anleitung zeigen wir Ihnen, wie Sie Jenkins unter Ubuntu 20.04 installieren.
Voraussetzungen
- Ein Ubuntu 20.04 VPS (wir verwenden unseren SSD 2 VPS-Plan)
- Zugriff auf das Root-Benutzerkonto (oder Zugriff auf ein Administratorkonto mit Root-Rechten)
Schritt 1:Melden Sie sich beim Server an und aktualisieren Sie die Server-OS-Pakete
Melden Sie sich zunächst über SSH als Root-Benutzer bei Ihrem Ubuntu 20.04-Server an:
ssh root@IP_Address -p Port_number
Sie müssen „IP_Address“ und „Port_number“ durch die jeweilige IP-Adresse und SSH-Portnummer Ihres Servers ersetzen. Ersetzen Sie außerdem „root“ gegebenenfalls durch den Benutzernamen des Administratorkontos.
Bevor Sie beginnen, müssen Sie sicherstellen, dass alle auf dem Server installierten Ubuntu-Betriebssystempakete auf dem neuesten Stand sind. Sie können dies tun, indem Sie die folgenden Befehle ausführen:
apt-get update -y apt-get upgrade -y
Schritt 2:Java installieren
Jenkins ist eine Java-basierte Anwendung. Daher muss Java auf Ihrem System installiert sein, wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:
apt-get install default-jdk -y
Dadurch wird die Java-Version 11 in Ihrem System installiert. Sie können die Java-Version mit dem folgenden Befehl überprüfen:
java -version
Sie sollten die folgende Ausgabe erhalten:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Schritt 3:Jenkins installieren
Standardmäßig ist Jenkins nicht im Ubuntu-Standard-Repository verfügbar, daher müssen Sie das Jenkins-Repository zu Ihrem System hinzufügen.
Installieren Sie zunächst die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install apt-transport-https gnupg2 -y
Laden Sie als Nächstes den GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add -
Fügen Sie als Nächstes das Jenkins-Repository mit dem folgenden Befehl hinzu:
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
Aktualisieren Sie nach dem Hinzufügen des Repositorys den Repository-Cache und installieren Sie Jenkins mit dem folgenden Befehl:
apt-get update -y apt-get install jenkins -y
Überprüfen Sie nach der Installation von Jenkins den Status von Jenkins mit dem folgenden Befehl:
systemctl status jenkins
Sie sollten die folgende Ausgabe erhalten:
● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Mon 2020-12-21 05:34:22 UTC; 6s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 2353) Memory: 0B CGroup: /system.slice/jenkins.service Dec 21 05:34:20 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time... Dec 21 05:34:21 ubuntu2004 jenkins[15472]: Correct java version found Dec 21 05:34:21 ubuntu2004 jenkins[15472]: * Starting Jenkins Automation Server jenkins Dec 21 05:34:21 ubuntu2004 su[15526]: (to jenkins) root on none Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session opened for user jenkins by (uid=0) Dec 21 05:34:21 ubuntu2004 su[15526]: pam_unix(su-l:session): session closed for user jenkins Dec 21 05:34:22 ubuntu2004 jenkins[15472]: ...done. Dec 21 05:34:22 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.
Jenkins wird jetzt ausgeführt und überwacht Port 8080. Sie können dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep 8080
Sie sollten die folgende Ausgabe erhalten:
LISTEN 0 50 *:8080 *:* users:(("java",pid=15539,fd=141))
Schritt 4:Nginx als Reverse-Proxy für Jenkins konfigurieren
Es ist eine gute Idee, Nginx als Reverse-Proxy für den Zugriff auf Jenkins zu verwenden. Installieren Sie dazu Nginx mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation von nginx eine Nginx-Konfigurationsdatei mit dem folgenden Befehl:
nano /etc/nginx/conf.d/jenkins.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream jenkins { keepalive 32; server 127.0.0.1:8080; } # Required for Jenkins websocket agents map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name jenkins.domain.com; # this is the jenkins web root directory # (mentioned in the /etc/default/jenkins file) root /var/run/jenkins/war/; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; # pass through headers from Jenkins that Nginx considers invalid ignore_invalid_headers off; location ~ "^/static/[0-9a-fA-F]{8}\/(.*)$" { rewrite "^/static/[0-9a-fA-F]{8}\/(.*)" /$1 last; } location /userContent { root /var/lib/jenkins/; if (!-f $request_filename){ #this file does not exist, might be a directory or a /**view** url rewrite (.*) /$1 last; break; } sendfile on; } location / { sendfile off; proxy_pass http://jenkins; proxy_redirect default; proxy_http_version 1.1; # Required for Jenkins websocket agents proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_max_temp_file_size 0; #this is the maximum upload size client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffering off; proxy_request_buffering off; # Required for HTTP CLI commands proxy_set_header Connection ""; # Clear for keepalive } }
Speichern und schließen Sie die Datei und überprüfen Sie dann die Nginx-Konfiguration mit dem folgenden Befehl:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie abschließend den Nginx-Dienst mit dem folgenden Befehl neu:
systemctl restart nginx
Schritt 5:Zugriff auf Jenkins
Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://jenkins.domain.com
auf die Jenkins-Weboberfläche zu . Sie sollten die folgende Seite sehen:
Öffnen Sie nun Ihr Terminal und drucken Sie das Jenkins-Passwort mit dem folgenden Befehl aus:
cat /var/lib/jenkins/secrets/initialAdminPassword
Sie sollten das Jenkins-Admin-Passwort in der folgenden Ausgabe erhalten:
00c7fa4f27c142a3ab8e6867eddb1bdd
Als nächstes kehren Sie zu Ihrer Weboberfläche zurück und fügen Sie das obige Passwort ein und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:
Klicken Sie auf Vorgeschlagene Plugins installieren Taste. Sobald alle Plugins installiert sind, sollten Sie die folgende Seite erhalten:
Geben Sie Ihren gewünschten Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf Speichern und Weiter Taste. Sie sollten die folgende Seite sehen:
Geben Sie die URL Ihrer Jenkins-Website an und klicken Sie auf Speichern und fertig stellen Taste. Sie sollten die folgende Seite sehen:
Klicken Sie auf Jenkins verwenden . Sie sollten das Standard-Dashboard von Jenkins auf der folgenden Seite sehen:
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer verwalteten Jenkins VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.