GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So installieren Sie Jenkins mit Docker

Übersicht

Dieser Artikel behandelt die Schritte zum Installieren von Jenkins mit Docker. Wir werden die Jenkins LTS-Version auf einem einzelnen Hostcomputer bereitstellen und das offizielle Docker-Image von Jenkins aus dem Docker-Hub verwenden. Die vollständige Jenkins-Docker-Dokumentation kann auf dem offiziellen Jenkins-Github eingesehen werden.

Jenkins ist ein bekanntes und beliebtes Open-Source-CI/CD-Automatisierungstool. Mit vielen Vorteilen, die es bietet, kann es manchmal mühsam sein, es zu warten, da es von Java abhängt, um ausgeführt zu werden. Glücklicherweise haben wir jetzt eine Docker-Version von Jenkins, die wir einfach bereitstellen können und die Wartung vereinfacht, da sie auch Java enthält.

Voraussetzungen:

Docker vorinstalliert und läuft. Docker kann jetzt schnell mit dem offiziellen Auto-Install-Skript von der Docker-Site auf einigen wichtigen Distributionen (Ubuntu, Debian, Rasbian usw.) installiert werden:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Installieren Sie Jenkins mit Docker

Um Jenkins mit Docker zu installieren, empfiehlt die Jenkins-Dokumentation die folgenden Docker-Befehlsargumente:

docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11

Dieser Docker-Befehl stellt den Jenkins-Container mit der LTS-Version von Jenkins bereit, stellt ein /var/jenkins_home-Verzeichnis vom Hostcomputer bereit (wodurch Datenpersistenz zu Jenkins hinzugefügt wird, was bedeutet, dass beim Neustart oder Aktualisieren des Containers kein Datenverlust auftritt – das Hinzufügen dieser Einstellung wird dringend empfohlen ) und Verfügbarmachen von Ports, sodass das Jenkins-Dashboard über den Webbrowser verfügbar ist. Der Docker benötigt einige Minuten, um Jenkins zu installieren, bereitzustellen und auszuführen.

Durch das Mounten des Verzeichnisses vom Hostserver können alle Jenkins-Konfigurationen, -Dateien und -Plug-ins (was empfohlen wird) gesichert und auch auf einen anderen Host migriert werden.

Zugriff auf und Konfiguration von Jenkins

Nach der Bereitstellung des Jenkins-Docker-Containers sollte Docker den Jenkins-Container sofort automatisch starten und auf dem Terminal sollte die Ausgabe das Administrator-Entsperrkennwort sofort nach dem Starten des Containers anzeigen. Bild unten ist ein Beispiel:

Wenn Ihr Jenkins-Container nicht startet, überprüfen Sie, ob er mit Docker läuft, und starten Sie ihn. Sie können das Administrator-Entsperrkennwort auch später abrufen.

docker ps -a

docker start ${CONTAINER_ID or CONTAINER_NAME}

Um das Entsperrkennwort aus dem Jenkins-Docker-Container abzurufen, führen Sie den folgenden Befehl aus. Mit diesem Befehl können wir das Passwort ausdrucken, ohne in den Container ausführen zu müssen (oder Shell in den Container):

sudo docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword

Wenn Sie zum ersten Mal auf das Dashboard zugreifen, erhalten Sie die Seite Unlock the Jenkins, die Ihnen zeigt, wo Sie waren und wie Sie das Administratorpasswort erwerben und das Jenkins-Admin-Dashboard entsperren können.

 

Fügen Sie das Passwort auf der Entsperrseite ein und klicken Sie auf Weiter.

Auf dem nächsten Bildschirm wird die neue Admin-Benutzererstellung angezeigt. Es ist empfehlenswert, das neue Administratorkonto zu erstellen und zu verwenden.

Der folgende Bildschirm – Instanzkonfiguration, hier müssen Sie nur die URL des Jenkins-Dashboards entweder bestätigen oder aktualisieren.

Klicken Sie auf Speichern und Fertig stellen und dies ist der letzte Schritt der Konfiguration.

Firewall-Konfiguration

Nur für den Fall, wenn Sie eine Firewall laufen haben (was dringend empfohlen wird), ist es notwendig, offene Ports für Jenkins zu haben, sonst können Sie nicht auf das Admin-Dashboard von Jenkins zugreifen.

UFW

sudo ufw allow 2376
IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 2376 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 2376 -j ACCEPT

Zusammenfassung

Zusammenfassend haben wir die Schritte zur Installation von Jenkins mit Docker gezeigt. Das Bereitstellen von Jenkins mit Docker ist eine gute Lösung, da es die Wartung auf Hostebene reduziert und auch die Notwendigkeit, Wartungsarbeiten auf Java auszuführen, verringert, da Jenkins in Docker zusammen mit vorinstalliertem und konfiguriertem Java geliefert wird. Hinzu kommt die einfache Bereitstellung (anstatt Java und Jenkins manuell auf einem Linux-Host zu installieren und ebenfalls manuell zu aktualisieren). Im Wesentlichen brauchen wir einen Befehl, um Jenkins bereitzustellen, und wir können sofort daran arbeiten.

Obwohl die Lösung weniger wartungsintensiv ist, kann sie dennoch ressourcenintensiv sein (abhängig von der Teamgröße, der Anzahl der Pipelines und der Art der auszuführenden Builds). Um es zumindest auszuführen und zum Lernen und Üben zu verwenden, sind 2 GB RAM vom Hostcomputer und für ein kleines Entwicklerteam erforderlich, um ordnungsgemäß ausgeführt zu werden und Pipelines und Builds auszuführen – es wird empfohlen, mindestens einen Host mit 4 GB RAM zu haben und 2-Kern-CPU.

Vielen Dank für Ihre Zeit…


Docker
  1. So installieren Sie Docker unter CentOS 7

  2. So installieren Sie WordPress mit Docker auf Ubuntu

  3. So installieren Sie WordPress mit Docker, eine leicht verständliche Anleitung

  4. So installieren und hosten Sie einen OpenVPN-Server mit Docker

  5. So installieren Sie Nextcloud mit Docker auf Ihrem Linux-Server

So installieren Sie Discourse Forum mit Docker unter CentOS 8

So installieren Sie Docker unter Debian 11

So installieren Sie Sentry mit Docker unter Ubuntu 20.04

So installieren Sie Mailtrain auf Ubuntu 18.04 mit Docker

So führen Sie Jenkins in Docker mit Docker Compose with Volumes aus

So installieren Sie Docker auf dem Mac