Was ist Jenkins? Jenkins ist ein kostenloses Open-Source-Automatisierungstool, mit dem sich wiederholende technische Aufgaben mithilfe von Continuous Integration und Continuous Delivery automatisieren können.
In diesem Tutorial erklären wir, wie man Jenkins mit Docker auf Ubuntu 18 . installiert.04 Server. Wir werden auch erklären, wie man Jenkins mit Docker so ausführt, dass Jenkins-Daten und -Konfigurationen persistent bleiben.
Bedarf
- Ein Server mit Ubuntu 18.04 mit mindestens 2 GB RAM.
- Auf Ihrem Server ist ein Root-Passwort eingerichtet.
Einstieg
Beginnen wir damit, das Repository Ihres Servers mit der neuesten Version zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:
apt-get update -yapt-get upgrade -y
Sobald das Repository aktualisiert wurde, starten Sie Ihren Server neu, um alle diese Änderungen zu übernehmen.
Docker installieren
Als nächstes müssen Sie Docker auf Ihrem Server installieren.
Laden Sie zuerst den Docker CE GPG-Schlüssel herunter und fügen Sie ihn mit dem folgenden Befehl hinzu:
wget https://download.Docker.com/linux/ubuntu/gpgapt-key gpg hinzufügen
Fügen Sie als Nächstes das Docker CE-Repository mit dem folgenden Befehl zu APT hinzu:
nano /etc/apt/sources.aufführen.d/docker.aufführenFügen Sie die folgende Zeile hinzu:
deb [arch=amd64] https://download.Docker.com/linux/ubuntu xenial stabilSpeichern und schließen Sie die Datei, wenn Sie fertig sind. Aktualisieren Sie dann das Repository mit dem folgenden Befehl:
apt-get update -yNachdem das Repository aktualisiert wurde, installieren Sie Docker CE mit dem folgenden Befehl:
apt-get install docker-ce -yÜberprüfen Sie nach der Installation von Docker CE die Docker-Installation mit dem folgenden Befehl:
systemctl status dockerDocker-Volume für Daten und Protokoll erstellen
Docker-Volume ist eine Methode zum Beibehalten von Daten und Konfiguration in Docker-Containern. Wenn Sie einen Container entfernen, sind die Daten und Konfigurationen weiterhin im Docker-Volume verfügbar. Sie müssen also Daten- und Protokollvolumes erstellen, um Jenkins-Daten und -Konfigurationen zu sichern, einschließlich Protokolle, Plugins, Plugin-Konfiguration und Job-Konfiguration.
Beginnen wir mit dem Erstellen eines Volumes für Daten und Protokolle mit dem folgenden Befehl:
Docker-Volume erstellen jenkins-dataDocker-Volume Jenkins-Log erstellen
Sobald die Volumes erstellt wurden, können Sie sie mit dem folgenden Befehl auflisten:
Docker-Volume lsSie sollten die folgende Ausgabe sehen:
TREIBER VOLUMENNAMElocal jenkins-data
local jenkins-log
Jenkins mit Docker installieren
Als Nächstes müssen Sie eine Docker-Datei erstellen, um ein Jenkins-Image mit den erforderlichen Einstellungen abzurufen und zu erstellen.
Sie können eine Docker-Datei mit dem folgenden Befehl erstellen:
mkdir dockerNano Docker/Dockerfile
Fügen Sie die folgenden Zeilen hinzu:
VON jenkins/jenkinsLABEL Maintainer="[email protected]"
BENUTZER-root
RUN mkdir /var/log/jenkins
RUN mkdir /var/cache/jenkins
RUN chown -R jenkins:jenkins /var/log/jenkins
RUN chown -R jenkins:jenkins /var/cache/jenkins
BENUTZERJenkins
ENV JAVA_OPTS="-Xmx8192m"
ENV JENKINS_OPTS="--handlerCountMax=300 --logfile=/var/log/jenkins/jenkins.Log
--webroot=/var/cache/jenkins/war"
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Erstellen Sie dann das Jenkins-Image mit dem folgenden Befehl:
CD-Dockerdocker build -t myjenkins .
Sie sollten die folgende Ausgabe sehen:
Build-Kontext an Docker-Daemon senden 2.048kBSchritt 1/10: VON Jenkins/Jenkins
---> ae831925b271
Schritt 2/10 : LABEL Maintainer="[email protected]"
---> Läuft in 673bf1ecc3ea
Zwischenbehälter entfernen 673bf1ecc3ea
---> cad1bee88092
Schritt 3/10: USER root
---> Einlaufen in 36909c427d44
Zwischenbehälter ausbauen 36909c427d44
---> 2c381cc3a773
Schritt 4/10: RUN mkdir /var/log/jenkins
---> Einlaufen in 337c0310db99
Zwischenbehälter entfernen 337c0310db99
---> 5aa93b90c67e
Schritt 5/10: RUN mkdir /var/cache/jenkins
---> Läuft in 2c77577ae28b
Zwischenbehälter entfernen 2c77577ae28b
---> 5016430c07eb
Schritt 6/10: RUN chown -R jenkins:jenkins /var/log/jenkins
---> Läuft in e4c820f66103
Zwischenbehälter ausbauen e4c820f66103
---> c8d2830a84c5
Schritt 7/10: RUN chown -R jenkins:jenkins /var/cache/jenkins
---> Einlaufen in d024606146d5
Zwischenbehälter ausbauen d024606146d5
---> a11d613cff18
Schritt 8/10: BENUTZER Jenkins
---> Einlaufen in 478f3c067131
Zwischenbehälter entfernen 478f3c067131
---> edea568d5564
Schritt 9/10: ENV JAVA_OPTS="-Xmx8192m"
---> Laufen in 5ae52922f52b
Zwischenbehälter ausbauen 5ae52922f52b
---> cb1285b1bc72
Schritt 10/10: ENV JENKINS_OPTS="--handlerCountMax=300 --logfile=/var/log/jenkins/jenkins.Log
--webroot=/var/cache/jenkins/war"
---> Läuft in 973fb9257c29
Zwischenbehälter entfernen 973fb9257c29
---> b131c5adf03e
Erfolgreich gebaut b131c5adf03e
Erfolgreich getaggt myjenkins:neueste
Das neue Jenkins-Image mit dem Namen myjenkins wurde erfolgreich erstellt.
Jenkins Container mit Daten- und Protokollvolumen ausführen
Jenkins-Image wird jetzt mit den erforderlichen Einstellungen erstellt built. Als Nächstes müssen Sie den Jenkins-Container ausführen, indem Sie Daten- und Protokollvolumes als Einhängepunkt angeben.
Sie können den Jenkins-Container mit dem folgenden Befehl ausführen:
docker run -p 8080:8080 -p 50000:50000 --name=jenkins-master --mount source=jenkins-log,target=/var/log/jenkins --mount source=jenkins-data,target=/var/jenkins_home -d myjenkins
Sobald der Jenkins-Container gestartet ist, können Sie den laufenden Container mit dem folgenden Befehl überprüfen:
Docker psSie sollten die folgende Ausgabe sehen:
BEHÄLTER-ID BILD BEFEHL ERSTELLT STATUS3dec02a7077c myjenkins "/sbin/tini -- /usr/… " vor 6 Minuten Bis 6 Minuten
HÄFEN NAMEN
0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp jenkins-master
Als nächstes müssen Sie die Jenkins-Protokolldatei überprüfen, ob alles einwandfrei funktioniert oder nicht:
docker exec jenkins-master tail -f /var/log/jenkins/jenkins.LogSie sollten die folgende Ausgabe sehen:
Bitte verwenden Sie das folgende Passwort, um mit der Installation fortzufahren:
b437ba21655a44cda66a75b8fbddf5b8Diese finden Sie auch unter: /var/jenkins_home/secrets/initialAdminPassword
************************************************* **********
************************************************* **********
************************************************* **********
Bitte beachten Sie das obige Passwort, Sie benötigen es während des Jenkins-Web-Setup-Assistenten.
Zugriff auf die Jenkins-Webschnittstelle Web
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL ein http://Ihre-Server-IP:8080. Sie werden zum Jenkins-Setup-Bildschirm weitergeleitet, wie unten gezeigt:
Geben Sie Ihr Administratorkennwort ein und klicken Sie auf das Fortsetzen Taste. Sie sollten die folgende Seite sehen:
Klicken Sie nun auf „Vorgeschlagene Plugins installieren” um die erforderlichen Plugins zu installieren. Sobald die Installation abgeschlossen ist. Sie sollten die folgende Seite sehen:
Geben Sie nun Ihren Admin-Benutzernamen, Ihr Passwort und Ihren vollständigen Namen ein und klicken Sie dann auf das speichern und Fertig Taste. Sie sollten die folgende Seite sehen:
Klicken Sie jetzt einfach auf die Speichern und fertig Taste. Nachdem die Einrichtung erfolgreich abgeschlossen wurde, sollten Sie die folgende Seite sehen:
Klicken Sie nun auf „Beginnen Sie mit der Verwendung von Jenkins“. Sie werden zum Jenkins-Dashboard weitergeleitet, wie auf der folgenden Seite gezeigt:
Klicken Sie nun auf „neue Arbeitsplätze schaffen" Taste. Sie sollten die folgende Seite sehen:
Geben Sie nun Ihren Jobnamen ein und klicken Sie auf das OK Taste. Sie sollten die folgende Seite sehen:
Klicken Sie nun auf die Schaltfläche Speichern, um speichern alle Einstellungen. Sie sollten Ihre neu erstellten Jobs auf der folgenden Seite sehen:
Persistente Jenkins-Daten testen
Jenkins ist jetzt installiert und konfiguriert. Als Nächstes müssen Sie testen, ob die Jenkins-Daten und das Protokoll nach dem Entfernen des Jenkins-Containers weiterhin bestehen.
Stoppen und löschen Sie dazu zunächst den Jenkins-Container mit dem folgenden Befehl:
docker stop jenkins-masterdocker rm jenkins-master
Starten Sie nun den Jenkins-Container erneut mit folgendem Befehl:
docker run -p 8080:8080 -p 50000:50000 --name=jenkins-master --mount source=jenkins-log,target=/var/log/jenkins --mount source=jenkins-data,target=/var/jenkins_home -d myjenkins
Nachdem der Jenkins-Container gestartet wurde, öffnen Sie Ihren Webbrowser und geben Sie die URL ein http://Ihre-Server-IP:8080. Sie werden auf die folgende Seite weitergeleitet:
Geben Sie nun Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie dann auf das Schild im Taste. Sie sollten das Jenkins-Dashboard auf der folgenden Seite sehen:
Das bedeutet, dass Sie alle Daten, Protokolle, Setup-Konfigurationen und Plugin-Installationen erhalten haben. Du solltest auch sehen, dass dein myjenkinsjob noch da ist.
FAZIT
Jetzt können Sie Ihren Entwicklungsprozess mit Jenkins und Docker containerisieren, viel Spaß.