So installieren Sie den Jenkins Automation Server mit Apache auf Ubuntu 16.04 LTS

Jenkins ist ein Automatisierungsserver, der aus dem Hudson-Projekt hervorgegangen ist. Jenkins ist eine serverbasierte Anwendung, die in einem Java-Servlet-Container läuft und Unterstützung für viele SCM (Source Control Management) Softwaresysteme wie Git, SVN und Mercurial bietet. Jenkins bietet Hunderte von Plugins zur Automatisierung Ihres Projekts. Jenkins erstellt von Kohsuke Kawaguchi, erstmals 2011 unter MIT-Lizenz veröffentlicht, und es ist freie Software.

In diesem Tutorial zeige ich Ihnen, wie Sie die neueste Jenkins-Version auf Ubuntu Server 16.04 installieren. Wir werden Jenkins unter unserem eigenen Domainnamen betreiben, und wir werden Jenkins installieren und konfigurieren, um unter dem Apache-Webserver mit dem Reverse-Proxy für Jenkins zu laufen.

Voraussetzung

  • Ubuntu Server 16.04 – 64bit – 64bit
  • Root-Privilegien

Schritt 1 – Java OpenJDK 7 installieren

Jenkins basiert auf Java, daher müssen wir Java OpenJDK Version 7 auf dem Server installieren. In diesem Schritt werden wir Java 7 aus einem PPA-Repository installieren, das wir zuerst hinzufügen werden.

Standardmäßig wird Ubuntu 16.04 ohne das Paket python-software-properties zur Verwaltung von PPA-Repositories ausgeliefert, daher müssen wir dieses Paket zuerst installieren. Python-Software-Eigenschaften mit dem Befehl apt installieren.

apt-get install python-software-properties

Als nächstes fügen Sie dem Server das Java PPA-Repository hinzu.

add-apt-repository ppa:openjdk-r/ppa
Just Press ENTER

Aktualisieren Sie das Ubuntu-Repository und installieren Sie das Java OpenJDK mit dem Befehl apt.

apt-get update
apt-get install openjdk-7-jdk

Überprüfen Sie die Installation, indem Sie den folgenden Befehl eingeben:

java -version

und Sie erhalten die Java-Version, die auf dem Server installiert ist.

Java 7 openJDK auf Ubuntu 16.04 installieren

Schritt 2 – Jenkins installieren

Jenkins stellt ein Ubuntu-Repository für die Installationspakete zur Verfügung und wir werden Jenkins aus diesem Repository installieren.

Fügen Sie dem System den Jenkins-Schlüssel und das Repository mit dem folgenden Befehl hinzu.

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo 'deb https://pkg.jenkins.io/debian-stable binary/' | tee -a /etc/apt/sources.list

Aktualisieren Sie das Repository und installieren Sie Jenkins.

apt-get update
apt-get install jenkins

Wenn die Installation abgeschlossen ist, starten Sie Jenkins mit diesem systemctl-Befehl.

systemctl start jenkins

Überprüfen Sie, ob Jenkins läuft, indem Sie den von Jenkins verwendeten Standardport (Port 8080) überprüfen. Ich werde es mit dem netstat-Befehl unten überprüfen:

netstat -plntu

Jenkins ist installiert und läuft auf Port 8080.

Jenkins wurde auf Port 8080 installiert.

Schritt 3 – Apache als Reverse Proxy für Jenkins installieren und konfigurieren

In diesem Tutorial werden wir Jenkins hinter einem Apache-Webserver laufen lassen, wir werden Apache als Reverse-Proxy für Jenkins konfigurieren. Zuerst werde ich Apache installieren und einige benötigte Module aktivieren, und dann werde ich die virtuelle Hostdatei mit dem Domainnamen my.jenkins.id für Jenkins erstellen. Bitte verwenden Sie hier Ihren eigenen Domainnamen und ersetzen Sie ihn in allen Konfigurationsdateien, wo immer er erscheint.

Installieren Sie den apache2-Webserver aus dem Ubuntu-Repository.

apt-get install apache2

Wenn die Installation abgeschlossen ist, aktivieren Sie die Module proxy und proxy_http, damit wir Apache als Frontend-Server/Reverse-Proxy für Jenkins konfigurieren können.

a2enmod proxy
a2enmod proxy_http

Erstellen Sie anschließend eine neue virtuelle Hostdatei im vom Standort verfügbaren Verzeichnis.

cd /etc/apache2/sites-available/
vim jenkins.conf

Fügen Sie die Konfiguration des virtuellen Hosts unten ein.

<Virtualhost *:80>
    ServerName        my.jenkins.id
    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://my.jenkins.id/
</Virtualhost>

Speichern Sie die Datei. Aktivieren Sie dann den virtuellen Host von Jenkins mit dem Befehl a2ensite.

a2ensite jenkins

Starten Sie Apache und Jenkins neu.

systemctl restart apache2
systemctl restart jenkins

Überprüfen Sie, ob die Ports 80 und 8000 von Jenkins und Apache verwendet werden.

netstat -plntu

Überprüfen Sie, ob Apache und Jenkins laufen.

Schritt 4 – Jenkins konfigurieren

Jenkins läuft unter dem Domainnamen’my.jenkins.id‘. Öffnen Sie Ihren Webbrowser und geben Sie die URL ein. Sie erhalten den Bildschirm, auf dem Sie aufgefordert werden, das anfängliche Admin-Passwort einzugeben. Ein Passwort wurde bereits von Jenkins generiert, also müssen wir nur die Ergebnisse anzeigen und in das Passwortfeld kopieren.

Zeige initiales Admin-Passwort Jenkins mit cat-Befehl.

cat /var/lib/jenkins/secrets/initialAdminPassword

a1789d1561bf413c938122c599cf65c9

Holen Sie sich das Jenkins Admin-Passwort.

Fügen Sie die Ergebnisse in den Bildschirm ein und klicken Sie auf „Weiter„.

Jenkins Installation und Konfiguration

Jetzt sollten wir einige Plugins in Jenkins installieren, um eine gute Grundlage für die spätere Verwendung zu schaffen. Wählen Sie‘Empfohlene Plugins installieren‚, klicken Sie darauf.

Install jenkins Plugins

Jenkins erweitert die laufenden Installationen.

Jenkins Plugins werden installiert.

Nach der Installation des Plugins müssen wir ein neues Admin-Passwort erstellen. Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort, Ihre E-Mail-Adresse usw. ein und klicken Sie auf‘Speichern und Fertigstellen‚.

Jenkins Admin-Konto erstellen

Klicken Sie auf Start und starten Sie mit Jenkins. Sie werden zum Jenkins Admin Dashboard weitergeleitet.

Umleitung zum Admin Dashboard

Jenkins Installation und Konfiguration erfolgreich abgeschlossen

Das Jenkins Admin Dashboard

Schritt 5 – Jenkins Sicherheit

Im Jenkins Admin Dashboard müssen wir die Standard-Sicherheitseinstellungen für Jenkins konfigurieren, auf‘Jenkins verwalten‚ und dann auf‘Globale Sicherheit konfigurieren‚ klicken.

Jenkins Globale Sicherheitseinstellungen

Jenkins stellt im Abschnitt‘Zugriffskontrolle‚ mehrere Berechtigungsmethoden zur Verfügung. Ich wähle‘Matrixbasierte Sicherheit‚, um alle Benutzerrechte steuern zu können. Aktivieren Sie den Admin-Benutzer im Feld‘Benutzer/Gruppe‚ und klicken Sie auf Hinzufügen. Vergeben Sie dem Administrator alle Berechtigungen, indem Sie alle Optionen aktivieren, und geben Sie den Anonymen nur Leserechte. Klicken Sie nun auf‘Speichern‚.

Jenkins-Berechtigungen konfigurieren

Sie werden zum Dashboard weitergeleitet, und wenn es eine Anmeldeoption gibt, geben Sie einfach Ihren Admin-Benutzer und Ihr Passwort ein.

Schritt 6 – Testen eines einfachen Automatisierungsauftrags

In diesem Abschnitt möchte ich nur einen einfachen Job für den Jenkins-Server testen. Ich werde einen einfachen Job erstellen, um Jenkins zu testen und die Serverlast mit dem Befehl top herauszufinden.

Klicken Sie im Jenkins Admin Dashboard auf‘Neuen Job erstellen‚.

Einen neuen Job in Jenkins erstellen

Geben Sie den Auftragsnamen ein, ich benutze hier’Checking System‘, wählen Sie‘Freestyle Project‚ und klicken Sie auf‘OK‚.

Neuen Jenkins Job konfigurieren

Gehen Sie auf die Registerkarte“Build. Wählen Sie auf der Seite‘Add build step‚ die Option‘Execute shell‚.

Geben Sie den folgenden Befehl in das Feld ein.

top -b -n 1 | head -n 5

Klicken Sie auf „Speichern„.

Einen Jenkins Job starten

Sie befinden sich nun auf der Jobseite des Jobs’Projektprüfsystem‘. Klicken Sie auf‘Jetzt erstellen‚, um den Job’System prüfen‘ auszuführen.

Nachdem der Auftrag ausgeführt wurde, sehen Sie die „Build History„, klicken Sie auf den ersten Auftrag, um die Ergebnisse zu sehen.

Hier sind die Ergebnisse des von Jenkins ausgeführten Auftrags.

Erstellen und Ausführen eines Jenkins Jobs

Jenkins Installation mit Apache Webserver auf Ubuntu 16.04 erfolgreich abgeschlossen.

Referenz

Das könnte Dich auch interessieren …