Richten Sie einen Jenkins-Server mit Docker ein

Richten Sie Einen Jenkins Server Mit Docker Ein



Jenkins ist ein weit verbreiteter Open-Source-Automatisierungsserver, der dabei hilft, die verschiedenen Teile des Softwareentwicklungsprozesses zu automatisieren, darunter das Erstellen, Testen und Bereitstellen von Anwendungen.

Docker ist eine Containerisierungsplattform, die es uns ermöglicht, Anwendungen und Dienste in isolierten Umgebungen, sogenannten Containern, auszuführen.







In diesem Tutorial erfahren wir, wie man Jenkins mit Docker kombiniert, um einen skalierbaren und portablen Jenkins-Server zu erstellen.



HINWEIS: In diesem Tutorial verwenden wir das offizielle Jenkins/Jenkins-Image aus dem Docker Hub-Repository. Dieses Bild enthält die aktuelle Long-Term-Support-Version (LTS) von Jenkins, die produktionsbereit ist.



Erstellen Sie ein Netzwerk

Der erste Schritt besteht darin, ein neues Docker-Netzwerk zu erstellen, um die Jenkins-Instanz zu isolieren. Dies ermöglicht eine bessere Kommunikation.





Um ein überbrücktes Netzwerk in Docker zu erstellen, können wir den folgenden Befehl ausführen:

$ Docker-Netzwerk erstellt Jenkins


Dadurch entsteht ein überbrücktes Netzwerk namens Jenkins.



Führen Sie den Jenkins Docker Container aus

Sobald wir das Netzwerk konfiguriert haben, können wir den Jenkins-Container mit dem offiziellen Jenkins-Docker-Image ausführen.

Wir geben außerdem das Netzwerk an und konfigurieren ein Volume für die Jenkins-Datenpersistenz. Der Befehl lautet wie folgt:

Docker-Run \
--Name Jenkins-Docker \
--rm \
--ablösen \
--privilegiert \
--Netzwerk Jenkins \
--network-alias Docker \
--env DOCKER_TLS_CERTDIR = / Zertifikate \
--Volumen Jenkins-Docker-Zertifikate: / Zertifikate / Klient \
--Volumen Jenkins-Daten: / War / jenkins_home \
--veröffentlichen 2376 : 2376 \
docker:von \
--storage-driver Overlay2



Der vorherige Befehl startet einen Docker-in-Docker-Container (DinD) mit dem Namen „jenkins-docker“ mit erhöhten Berechtigungen und Netzwerkkonfigurationen.

Das Flag –rm sorgt dafür, dass der Container automatisch entfernt wird, wenn er stoppt. Der Container wird mit dem Netzwerkalias „docker“, wie im vorherigen Schritt erstellt, mit dem Jenkins-Netzwerk verbunden.

Anschließend legen wir die Umgebungsvariablen für die Docker-TLS-Zertifikate fest und mounten die Volumes für die Zertifikatsspeicherung und Jenkins-Daten.

Im nächsten Abschnitt veröffentlichen wir Port 2376 für die Docker-Daemon-Kommunikation.

Zuletzt geben wir das Docker:dind-Image an und konfigurieren den Speichertreiber für die Verwendung von Overlay2.

Greifen Sie auf die Jenkins-Web-Benutzeroberfläche zu

Sobald wir den Container starten, können wir über einen Webbrowser auf die Jenkins-Instanz zugreifen Adresse.

Wenn Sie einen einfachen Jenkins-Container ausführen möchten, können Sie den folgenden Befehl verwenden:

$ Docker-Lauf -D -P 8080 : 8080 -P 50000 : 50000 --Name Jenkins \
--Netzwerk Jenkins \
-In jenkins_home: / War / jenkins_home \
Jenkins / Jenkins:lts


Dadurch wird der Jenkins-Server ausgeführt, ohne dass die anderen Funktionen wie Volumes, Bind-Ports und mehr konfiguriert werden müssen.

Anschließend können Sie auf die Jenkins-Instanz zugreifen .


Sobald Jenkins bereit ist, ermöglicht Ihnen Ihr Browser, den Jenkins-Server schnell mit den gewünschten Eigenschaften zu konfigurieren.

Sobald es eingerichtet ist, müssen Sie Jenkins entsperren, indem Sie das Administratorkennwort angeben. Sie können es finden, indem Sie den folgenden Befehl ausführen:

$ Docker protokolliert Jenkins


Der Befehl zeigt Ihnen die Protokolle für den Container an, die das Jenkins-Passwort enthalten.




Der nächste Schritt besteht darin, die Plugins auszuwählen und zu installieren, die Sie für Ihre Jenkins-Instanz verwenden möchten. Wenn Sie Jenkins zum ersten Mal verwenden, wählen Sie die empfohlenen Plugins.


Dies sollte es Jenkins ermöglichen, alle Standard-Plugins herunterzuladen und zu installieren, sodass Sie problemlos mit den Jenkins-Pipelines interagieren können.

Abschluss

In diesem Tutorial haben Sie gelernt, wie Sie mit Docker und dem offiziellen Jenkins-Image einen Jenkins-Server als Container einrichten können.