Einführung
Jenkins ist ein Open Source-Automatisierungsserver zur Automatisierung sich wiederholender technischer Aufgaben bei der kontinuierlichen Integration und Bereitstellung von Software. Jenkins ist Java-basiert und kann von Ubuntu-Paketen oder durch Herunterladen und Ausführen der Webanwendung ARchive (WAR) -Datei installiert werden. Hierbei handelt es sich um eine Sammlung von Dateien, aus denen eine vollständige Webanwendung besteht, die auf einem Server ausgeführt werden soll.
In diesem Tutorial installieren wir Jenkins, indem wir das Debian-Paket-Repository hinzufügen und dann dieses Repository verwenden, um das Paket mitapt-get
zu installieren.
Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie:
One Ubuntu 16.04 server wird mit einemsudo
-Benutzer ohne Rootberechtigung und einer Firewall konfiguriert, indem dieUbuntu 16.04 initial server setup guide befolgt werden. Wir empfehlen, mit mindestens 1 GB RAM zu beginnen. SieheChoosing the Right Hardware for Masters für Anleitungen zur Planung der Kapazität einer Jenkins-Produktionsinstallation.
Wenn der Server eingerichtet ist, können Sie mitmachen.
[[Schritt-1 - Installieren von Jenkins]] == Schritt 1 - Installieren von Jenkins
Die Version von Jenkins, die in den Ubuntu-Standardpaketen enthalten ist, steht häufig hinter der neuesten verfügbaren Version des Projekts. Um die neuesten Korrekturen und Funktionen nutzen zu können, verwenden wir die vom Projekt verwalteten Pakete, um Jenkins zu installieren.
Zunächst fügen wir den Repository-Schlüssel zum System hinzu.
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
Wenn der Schlüssel hinzugefügt wird, gibt das SystemOK
zurück. Als Nächstes hängen wir die Debian-Paket-Repository-Adresse an diesources.list
des Servers an:
echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
Wenn beide vorhanden sind, führen wirupdate
aus, damitapt-get
das neue Repository verwendet:
sudo apt-get update
Schließlich installieren wir Jenkins und seine Abhängigkeiten, einschließlich Java:
sudo apt-get install jenkins
Nachdem Jenkins und seine Abhängigkeiten vorhanden sind, starten wir den Jenkins-Server.
[[Schritt 2 - Start-Jenkins]] == Schritt 2 - Jenkins starten
Mitsystemctl
starten wir Jenkins:
sudo systemctl start jenkins
Dasystemctl
keine Ausgabe anzeigt, verwenden wir den Befehlstatus
, um zu überprüfen, ob es erfolgreich gestartet wurde:
sudo systemctl status jenkins
Wenn alles geklappt hat, sollte der Anfang der Ausgabe anzeigen, dass der Dienst aktiv und so konfiguriert ist, dass er beim Booten startet:
Output● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; bad; vendor preset: enabled)
Active:active (exited) since Thu 2017-04-20 16:51:13 UTC; 2min 7s ago
Docs: man:systemd-sysv-generator(8)
Nachdem Jenkins ausgeführt wird, passen wir unsere Firewall-Regeln so an, dass wir Jenkins über einen Webbrowser erreichen können, um die Ersteinrichtung abzuschließen.
[[Schritt-3 - Öffnen der Firewall]] == Schritt 3 - Öffnen der Firewall
Standardmäßig wird Jenkins auf Port 8080 ausgeführt, daher öffnen wir diesen Port mitufw
:
sudo ufw allow 8080
Sie können die neuen Regeln anzeigen, indem Sie den UFW-Status überprüfen.
sudo ufw status
Wir sollten sehen, dass der Verkehr 8080 von überall portieren darf:
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
8080 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
8080 (v6) ALLOW Anywhere (v6)
[.Hinweis]##
Note: Wenn die Firewall inaktiv ist, stellen die folgenden Befehle sicher, dass OpenSSH zulässig ist, und aktivieren es dann.
sudo ufw allow OpenSSH
sudo ufw enable
Nachdem Jenkins installiert ist und die Firewall den Zugriff ermöglicht, können wir die Ersteinrichtung abschließen.
[[Schritt-4 - Einrichten von Jenkins]] == Schritt 4 - Einrichten von Jenkins
Um unsere Installation einzurichten, besuchen wir Jenkins an seinem Standardport8080
unter Verwendung des Serverdomänennamens oder der IP-Adresse:http://ip_address_or_domain_name:8080
Wir sollten den Bildschirm "Jenkins entsperren" sehen, auf dem der Speicherort des anfänglichen Passworts angezeigt wird
Im Terminalfenster verwenden wir den Befehlcat
, um das Kennwort anzuzeigen:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
Wir kopieren das 32-stellige alphanumerische Kennwort vom Terminal und fügen es in das Feld "Administratorkennwort" ein. Klicken Sie dann auf "Weiter". Der nächste Bildschirm bietet die Möglichkeit, vorgeschlagene Plugins zu installieren oder bestimmte Plugins auszuwählen.
Wir klicken auf die Option "Vorgeschlagene Plugins installieren", um den Installationsvorgang sofort zu starten:
Nach Abschluss der Installation werden wir aufgefordert, den ersten Administrator einzurichten. Es ist möglich, diesen Schritt zu überspringen und mit dem oben verwendeten ursprünglichen Kennwort alsadmin
fortzufahren. Wir nehmen uns jedoch einen Moment Zeit, um den Benutzer zu erstellen.
[.note] #Note: Der Standard-Jenkins-Server ist NICHT verschlüsselt, daher sind die mit diesem Formular übermittelten Daten nicht geschützt. Wenn Sie bereit sind, diese Installation zu verwenden, befolgen Sie die AnleitungHow to Configure Jenkins with SSL using an Nginx Reverse Proxy. Dadurch werden Benutzeranmeldeinformationen und Informationen zu Builds geschützt, die über die Webschnittstelle übertragen werden.
#
Sobald der erste Administrator eingerichtet ist, sollte der Bestätigungsbildschirm "Jenkins ist fertig!" Angezeigt werden.
Klicken Sie auf "Jenkins verwenden", um das Haupt-Dashboard von Jenkins aufzurufen:
Zu diesem Zeitpunkt wurde Jenkins erfolgreich installiert.
Fazit
In diesem Lernprogramm haben wir Jenkins mit den vom Projekt bereitgestellten Paketen installiert, den Server gestartet, die Firewall geöffnet und einen Administrator erstellt. An diesem Punkt können Sie Jenkins erkunden.
Wenn Sie Ihre Erkundung abgeschlossen haben und Jenkins weiterhin verwenden möchten, befolgen Sie die AnleitungHow to Configure Jenkins with SSL using an Nginx Reverse Proxy, um Kennwörter sowie vertrauliche System- oder Produktinformationen zu schützen, die zwischen Ihrem Computer und dem Server gesendet werden im Klartext.