Wie installiert man Jenkins Automation Server mit Apache unter Ubuntu 20.04

Jenkins ist ein kostenloser und quelloffener Automatisierungsserver, der Entwicklern hilft, ihre Software zu entwickeln, zu testen und einzusetzen. Er basiert auf Java und stellt über 1700 Plugins bereit, die dabei helfen, die sich wiederholenden Aufgaben im Softwareentwicklungsprozess zu automatisieren. Er unterstützt mehrere Betriebssysteme wie Windows, Mac OS X und Linux und kann problemlos auf mehrere Maschinen verteilt werden.

In diesem Tutorial zeigen wir Ihnen, wie Sie Jenkins mit Apache als Reverse-Proxy unter Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, ist es eine gute Idee, Ihr System mit der neuesten Version zu aktualisieren. Sie können Ihr System mit dem folgenden Befehl aktualisieren:

apt-get update -y
apt-get upgrade -y

Nachdem Sie das System aktualisiert haben, starten Sie es neu, um die Änderungen zu implementieren.

Java installieren

Jenkins basiert auf Java, daher muss Java in Ihrem System installiert sein. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

apt-get install openjdk-11-jdk gnupg2 -y

Überprüfen Sie nach der Installation die installierte Version von Java mit folgendem Befehl:

java -version

Sie sollten die folgende Ausgabe erhalten:

openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Jenkins installieren

Standardmäßig ist die neueste Version von Jenkins nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Daher müssen Sie das Jenkins Repository zu Ihrem System hinzufügen.

Laden Sie zunächst 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 -

Als nächstes fügen Sie das Jenkins-Repository mit dem folgenden Befehl zum APT hinzu:

sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

Aktualisieren Sie als nächstes das Repository und installieren Sie die neueste Version von Jenkins mit folgendem Befehl: Aktualisieren Sie das Repository und installieren Sie die neueste Version von Jenkins mit folgendem Befehl

apt-get update -y
apt-get install jenkins -y

Überprüfen Sie nach der erfolgreichen Installation den Status von Jenkins mit folgendem Befehl: Nach der erfolgreichen Installation überprüfen Sie den Status von Jenkins mit folgendem Befehl

systemctl status jenkins

Sie sollten die folgende Ausgabe sehen:

? jenkins.service - LSB: Start Jenkins at boot time
     Loaded: loaded (/etc/init.d/jenkins; generated)
     Active: active (exited) since Sun 2020-08-09 12:50:35 UTC; 44s ago
       Docs: man:systemd-sysv-generator(8)
      Tasks: 0 (limit: 2353)
     Memory: 0B
     CGroup: /system.slice/jenkins.service

Aug 09 12:50:34 ubuntu2004 systemd[1]: Starting LSB: Start Jenkins at boot time...
Aug 09 12:50:34 ubuntu2004 jenkins[6134]: Correct java version found
Aug 09 12:50:34 ubuntu2004 jenkins[6134]:  * Starting Jenkins Automation Server jenkins
Aug 09 12:50:34 ubuntu2004 su[6180]: (to jenkins) root on none
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session opened for user jenkins by (uid=0)
Aug 09 12:50:34 ubuntu2004 su[6180]: pam_unix(su-l:session): session closed for user jenkins
Aug 09 12:50:35 ubuntu2004 jenkins[6134]:    ...done.
Aug 09 12:50:35 ubuntu2004 systemd[1]: Started LSB: Start Jenkins at boot time.

Zu diesem Zeitpunkt läuft und hört Jenkins auf Port 8080. Sie können dies mit folgendem Befehl überprüfen:

netstat -plntu | grep 8080

Sie sollten die folgende Ausgabe sehen:

tcp6       0      0 :::8080                 :::*                    LISTEN      6192/java  

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Apache als Reverse-Proxy

Als n?chstes m?ssen Sie Apache als Reverse-Proxy f?r Jenkins installieren und konfigurieren. So können Sie auf die Jenkins über den Port 80 zugreifen.

Installieren Sie zunächst den Apache-Webserver mit folgendem Befehl:

apt-get install apache2 -y

Nachdem Sie den Apache-Webserver installiert haben, aktivieren Sie die erforderlichen Module mit dem folgenden Befehl:

a2enmod proxy
a2enmod proxy_http

Als nächstes erstellen Sie eine Apache-Konfigurationsdatei für virtuelle Hosts für Jenkins mit folgendem Befehl:

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

Fügen Sie die folgenden Zeilen hinzu:

<Virtualhost *:80>
    ServerName        jenkins.example.com
    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode
 
    <Proxy http://localhost:8080/>
      Order deny,allow
      Allow from all
    </Proxy>
 
    ProxyPass         /  http://localhost:8080/ nocanon
    ProxyPassReverse  /  http://localhost:8080/
    ProxyPassReverse  /  http://jenkins.hakase-labs.io/
</Virtualhost>

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Aktivieren Sie dann die Apache-Konfigurationsdatei für virtuelle Hosts mit dem folgenden Befehl:

a2ensite jenkins

Starten Sie anschließend den Apache- und Jenkins-Dienst neu, um die Änderungen zu übernehmen:

systemctl reload apache2
systemctl restart jenkins

Sie können nun den Status des Apache-Dienstes mit folgendem Befehl überprüfen:

systemctl status apache2

Sie sollten die folgende Ausgabe erhalten:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Sun 2020-08-10 12:41:30 UTC; 22min ago
  Process: 15407 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
 Main PID: 14417 (apache2)
    Tasks: 11 (limit: 1114)
   CGroup: /system.slice/apache2.service
           ??14417 /usr/sbin/apache2 -k start
           ??15412 /usr/sbin/apache2 -k start
           ??15413 /usr/sbin/apache2 -k start
           ??15414 /usr/sbin/apache2 -k start
           ??15416 /usr/sbin/apache2 -k start
           ??15417 /usr/sbin/apache2 -k start
           ??15418 /usr/sbin/apache2 -k start
           ??15419 /usr/sbin/apache2 -k start
           ??15420 /usr/sbin/apache2 -k start
           ??15422 /usr/sbin/apache2 -k start
           ??15429 /usr/sbin/apache2 -k start

Aug 10 12:41:29 ubuntu20.04 systemd[1]: Starting The Apache HTTP Server...

Zu diesem Zeitpunkt ist der Apache-Webserver für den Jenkins-Dienst konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

Hinweis: Wenn Sie sich über das Internet mit Jenkins verbinden, wird empfohlen, die Verbindungen mit SSL/TLS zu sichern. Um SSL über Let’s Encrypt using certbot für die Jenkins-Webschnittstelle zu aktivieren, schauen Sie hier nach:

https://www.howtoforge.com/how-to-manage-lets-encrypt-ssl-tls-certificates-with-certbot/

Zugang zur Jenkins Web-Schnittstelle

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://jenkins.example.com ein. Sie werden aufgefordert, das anfängliche Admin-Passwort wie unten gezeigt einzugeben:

Jenkins freischalten

Sie können Jenkins initiales Admin-Passwort mit dem folgenden Befehl sehen:

cat /var/lib/jenkins/secrets/initialAdminPassword

Sie sollten das Jenkins-Passwort in der folgenden Ausgabe sehen:

78d6b10330434b27a09590fc781c9e6d

Geben Sie das Passwort aus der obigen Ausgabe in den Anmeldebildschirm ein und klicken Sie auf die Schaltfläche Weiter . Sie werden auf den Jenkins-Anpassungsbildschirm weitergeleitet:

Install Jenkins Plugins

Wählen Sie die gewünschte Option und klicken Sie sie an. Sie sollten den Bildschirm Jenkins plugins installations in progress sehen:

Erste Schritte mit Jenkins

Sobald alle Plugins erfolgreich installiert sind, sollten Sie den folgenden Bildschirm sehen:

Admin-Benutzer anlegen

Geben Sie Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein und klicken Sie auf die Schaltfläche Speichern und weiter. Sie sollten den folgenden Bildschirm sehen:

Jenkins konfigurieren

Geben Sie Ihre Jenkins-URL ein und klicken Sie auf die Schaltfläche Speichern und Fertigstellen. Sie sollten den folgenden Bildschirm sehen: Geben Sie Ihren Administrator-Benutzernamen, Ihr Passwort und Ihre E-Mail-Adresse ein:

Jenkins ist bereit

Klicken Sie auf die Schaltfläche„Start using Jenkins„. Auf dem folgenden Bildschirm sollten Sie das Jenkins-Dashboard sehen:

Jenkins Armaturenbrett

Als nächstes müssen Sie die Standard-Sicherheitseinstellungen für Jenkins konfigurieren.

Klicken Sie im linken Fensterbereich auf die Schaltfläche „Manage Jenkins => Configure Global Security“ (Jenkins verwalten => Globale Sicherheit konfigurieren). Sie sollten den folgenden Bildschirm sehen:

Jenkins-Konfiguration verwalten

Jenkins sichern

Wählen Sie nun Matrix-basierte Sicherheit, fügen Sie Ihren Benutzer hinzu, gewähren Sie volle Privilegien und klicken Sie auf die Schaltfläche Speichern.

Jenkins testen

Zu diesem Zeitpunkt wird Jenkins installiert und konfiguriert. Es ist an der Zeit, einen Musterauftrag zu erstellen und die Jenkins-Funktionalität zu testen.

Klicken Sie auf dem Jenkins-Dashboard auf die Schaltfläche Neuen Job erstellen. Sie sollten den folgenden Bildschirm sehen:

Test Jenkins

jenkins-Projekt erstellen

Geben Sie Ihren Jobnamen ein, wählen Sie Freestyle project und klicken Sie auf die Schaltfläche OK. Sie sollten den folgenden Bildschirm sehen: Geben Sie Ihren Jobnamen ein, wählen Sie Freestyle project und klicken Sie auf die Schaltfläche OK:

Befehle erstellen

Klicken Sie nun auf die Registerkarte Build. Wählen Sie auf der Registerkarte„Build-Schritt hinzufügen“ die OptionShellausführen“ und geben Sie„free -m“ in das Befehlsfeld ein. Klicken Sie dann auf die Schaltfläche “ Speichern“. Sie sollten den folgenden Bildschirm sehen:

Speicher prüfen Verwendung

Klicken Sie jetzt auf die Schaltfläche„Build Now“ im linken Fensterbereich, um den Job auszuführen. Sobald der Job ausgeführt wurde, sollten Sie im folgenden Bildschirm die Konsolenausgabe des von Jenkins ausgeführten Jobs sehen:

Testergebnis

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Jenkins erfolgreich mit Apache auf dem Ubuntu 20.04-Server installiert. Sie können Jenkins nun in der Entwicklungsumgebung verwenden, um den Entwicklungsprozess zu beschleunigen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …