Installieren Sie Jenkins mit Docker und lösen Sie das Problem des anfänglichen Plugin-Installationsfehlers

Installieren Sie Jenkins mit Docker und lösen Sie das Problem des anfänglichen Plugin-Installationsfehlers

Nach der Installation von Jenkins schlägt der erste Download des Plugins immer fehl, was zu einer erfolglosen Installation führt. Nach mehreren Versuchen bleibt die Installation des Plugins immer noch hängen.

Hier finden Sie eine Aufzeichnung, wie Sie Jenkins unter Docker installieren und das Problem des Fehlers bei der anfänglichen Plugin-Installation lösen.

Wenn die Installation des Plug-Ins fehlschlägt, wird tatsächlich das offizielle Jenkins-Image abgerufen und bei der ersten Installation des Plug-Ins wird es von einer fremden Website bezogen, was zu einer sehr langsamen oder sogar fehlgeschlagenen Installation führt. Die beste Lösung besteht darin, das von der chinesischen Jenkins-Community bereitgestellte Jenkins-Image abzurufen. Offizielle chinesische Website von Jenkins: https://www.jenkins.io/zh/

Installationsschritte Holen Sie sich das Bild

Docker Pull Jenkinszh/Jenkins-zh:neueste

Offizielles Docker-Image-Repository: https://hub.docker.com/

Den chinesischen Spiegel von Jenkins finden Sie hier

Legen Sie das Mount-Verzeichnis des Jenkins-Containers fest

Nach dem Start des Jenkins-Containers werden Installationskonfigurationsdateien generiert. Sie müssen die Generierungsadresse dieser Dateien in das Verzeichnis auf dem Linux-Server ändern.

Zweck: Um das Auffinden der Konfiguration bei künftigen Änderungen zu erleichtern.

Erstellen Sie ein Jenkins-Build-Verzeichnis mkdir /home/jenkins_home

Verzeichnisautorisierung chmod 777/home/jenkins_home Wenn das System nicht autorisiert ist, können nach dem Start keine Dateien generiert werden.

Startbefehl

docker run -d -p 8085:8080 -p 50000:50000 --name myjenkins -v /home/jenkins_home/:/var/jenkins_home jenkinszh/jenkins-zh:latest

Befehlserklärung:

Ausführen des Containers
-d Im Hintergrund ausführen
-p Linux-Server-Port und Docker-Container-Port-Mapping
--name Benutzerdefinierter Containeralias
-v Auf den Nachnamen des Linux-Serververzeichnisses und des Docker-Containerverzeichnisses folgt der Imagename und die Version, die beim Mounten abgerufen wurden.

Hinweis: 8085 ist der Zugriffsport. Jeder nicht belegte Port kann verwendet werden. 8080 kann nicht geändert werden

-p 50000:50000 kann nicht geändert werden.

/home/jenkins_home/ Das lokale Build-Verzeichnis kann angepasst werden und stimmt mit dem im vorherigen Schritt erstellten und autorisierten Verzeichnis überein

/var/jenkins_homeDocker-Containerverzeichnis, kann nicht geändert werden.

Zugang

Server-IP + benutzerdefinierter Port, Beispiel: 192.168.0.200:8085

Initiales Passwort

docker ps Ruft die ID des aktuell laufenden Containers ab

Docker protokolliert die Container-ID

Sie können es im Protokollprotokoll sehen, ähnlich wie hier

Plugin Installation

Das von der chinesischen Community bereitgestellte Jenkins-Image erfordert keine Einstellungen, es kann direkt installiert werden und die Geschwindigkeit ist sehr hoch.

Anhang - Analyse der fehlgeschlagenen Installation von Plugins auf offiziellen Images

Nehmen Sie als Beispiel das von Jenkins oben gemountete Verzeichnis

Im Verzeichnis jenkins_home definiert die Datei hudson.model.UpdateCenter.xml die Konfigurationsadresse für das abzurufende Plugin. Auf die Standardadresse kann direkt zugegriffen werden. Sie werden feststellen, dass sie eine Verbindung zu https://www.google.com/ herstellt. Aufgrund der Firewall konnte auf diese Adresse immer nicht zugegriffen werden.

Der Inhalt der Datei default.json im Verzeichnis /jenkins_home/updates ist der Inhalt der Konfigurationsadresse, die vom in hudson.model.UpdateCenter.xml definierten Plug-In abgerufen wird. Auch wenn Sie den Inhalt der Datei default.json über andere Blogs ändern, wird er beim erneuten Starten sofort wiederhergestellt. Unabhängig davon, wie Sie ihn ändern, wird er also nicht wirksam .

Der von der chinesischen Jenkins-Community bereitgestellte Spiegel wurde verarbeitet und die Konfigurationsadresse zum Abrufen des Plug-Ins wurde in die inländische Spiegeladresse geändert, sodass das Herunterladen des Plug-Ins sehr schnell ist.

Erklärung der chinesischen Jenkins-Community zum Plugin-Pulling:

https://community.jenkins-zh.cn/t/jenkins/26

https://jenkins-zh.cn/wechat/articles/2019/11/2019-11-11-update-center-mirror-announcement/

Schlagen Sie vor, mehr zu erfahren

Dies ist das Ende dieses Artikels über die Installation von Jenkins mit Docker und die Lösung des Problems, dass die anfängliche Plug-In-Installation fehlschlägt. Weitere relevante Inhalte zur Installation von Jenkins mit Docker finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Docker-Installation des Jenkins-Vollprozesses und schrittweise Anleitung
  • Erste Schritte mit der Jenkins-Installation und der Plugin-Management-Konfiguration
  • Download- und Installationsprozess für das Setup der Jenkins-Umgebung
  • Linux-Installationsschritte für Jenkins und verschiedene Problemlösungen (Seitenzugriffsinitialisierungskennwort)
  • So installieren Sie Jenkins auf CentOS 8
  • Detaillierte Anweisungen zur Installation von Jenkins auf Ubuntu 16.04
  • Analyse und Lösung des Zeitzonenproblems in der Jenkins-Installation

<<:  JS verwendet Map, um doppelte Arrays zu integrieren

>>:  Tutorial zur Installation von MySQL 8.0.11 unter Linux

Artikel empfehlen

So sortieren Sie eine Zeile oder Spalte in MySQL

Verfahren: Nach Beschreibung: Beides kann nicht e...

Vergleich zweier Implementierungsmethoden der Vue-Dropdown-Liste

Zwei Implementierungen der Vue-Dropdown-Liste Die...

Detaillierte Erläuterung des Excel-Parsings und -Exports basierend auf Vue

Inhaltsverzeichnis Vorwort Grundlegende Einführun...

So konvertieren Sie zusätzlichen Text in HTML in Auslassungspunkte

Wenn Sie zusätzlichen Text in HTML als Auslassung...

Lösen Sie das Problem der Containerverwaltung mit Docker Compose

Im Docker-Design führt ein Container nur eine Anw...

Detaillierte Erklärung der CSS-Stil-Kaskadierungsregeln

Der Syntaxstil der CSS-Stilregel ist die Grundein...

Sammlung gemeinsamer DIV-Attribute

1. Immobilienliste Code kopieren Der Code lautet w...

Ein Artikel zum Verständnis der Verwendung von Proxys in JavaScript

Inhaltsverzeichnis Was ist ein Agent Grundkenntni...

So aktualisieren Sie MySQL 5.6 auf 5.7 unter Windows

Vorne geschrieben Es gibt zwei Möglichkeiten, MyS...

Eine audiovisuelle Linux-Distribution, die Audiophile anspricht

Ich bin kürzlich auf das Audiovisual Linux Projec...