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.
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.
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
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
Fügen Sie die Ergebnisse in den Bildschirm ein und klicken Sie auf „Weiter„.
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.
Jenkins erweitert die laufenden Installationen.
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‚.
Klicken Sie auf Start und starten Sie mit Jenkins. Sie werden zum Jenkins Admin Dashboard weitergeleitet.
Jenkins Installation und Konfiguration erfolgreich abgeschlossen
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 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‚.
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‚.
Geben Sie den Auftragsnamen ein, ich benutze hier’Checking System‘, wählen Sie‘Freestyle Project‚ und klicken Sie auf‘OK‚.
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„.
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.
Jenkins Installation mit Apache Webserver auf Ubuntu 16.04 erfolgreich abgeschlossen.