Beim Einrichten von Jenkins in einer Docker-Umgebung werden im Konsolenprotokoll beim Erstellen von Aufgaben verstümmelte chinesische Zeichen angezeigt

Beim Einrichten von Jenkins in einer Docker-Umgebung werden im Konsolenprotokoll beim Erstellen von Aufgaben verstümmelte chinesische Zeichen angezeigt

1. Problembeschreibung:

In der Linux-Umgebung des Centos-Betriebssystems wurde nach dem Herunterladen des Jenkins-Images über Docker ein Container erstellt, auf die Jenkins-Adresse wurde über die IP+Port des Servers zugegriffen und die entsprechende Konfiguration durchgeführt. Anschließend wurde ein Task-Job erstellt, um das automatisierte Java+Selenium-Testskript zu erstellen und auszuführen. Der aktuelle Build ist erfolgreich. Der einzige Nachteil ist, dass das gedruckte Protokoll verstümmelt erscheint, wie unten gezeigt:

(Hinweis: Die Ausführungsmaschine ist Jenkins selbst, dieselbe Maschine)

Bildbeschreibung

2. Fehlerbehebung bei Jenkins-Einstellungen

Jenkins Systemeinstellungen zeigen den Sprachteil in den globalen Eigenschaften an

Bildbeschreibung

2. Detaillierte Jenkins-Informationen (fügen Sie nach der Jenkins-Adresse des Browsers /systemInfo hinzu)

BildbeschreibungBildbeschreibung

3. Code-Log-Kodierungsmethode

1. Überprüfen Sie, ob das gedruckte Protokoll utf-8 ist. Es wird bestätigt, dass es

Bildbeschreibung

4. Informationen zur Linux-Serversprache

1. Überprüfen Sie die Host-Sprachkonfiguration und geben Sie den Befehl ein: locale -a

Bildbeschreibung

2. /.vimrc anzeigen

Ich habe mich nicht getraut, es hier zu ändern, da es den Umfang nicht beeinträchtigen würde. Ich habe gerade den Artikel auf CSDN gefunden.

Bildbeschreibung

Dies ist nicht ganz klar, die im Internet gegebene Antwort lautet:

https://blog.csdn.net/u010189459/article/details/38338735

Die allgemeine Bedeutung besteht darin, dass in vimrc die Kodierung diese Elemente gleichzeitig festlegen kann:

setze Kodierung=utf-8 setze Langmenu=zh_CN.UTF-8 Sprachnachricht zh_CN.UTF-8

5. Abschließende Untersuchung

Nachdem nun die Jenkins-Systemeinstellungen und die Hostsprache überprüft wurden, beginnen wir mit der Überprüfung des Containers

1. Geben Sie den Jenkins-Container ein

docker exec -it Container-ID /bin/bash

Sprache anzeigen

Bildbeschreibung hier einfügen

Geben Sie dann

export LC_ALL="C.UTF-8"

Schreiben Sie am Ende von /etc/bash.bashrc, dann source /etc/bash.bashrc und stellen Sie fest, dass kein vim vorhanden ist. Vergessen Sie es also.

lc_all weist tatsächlich allen oben genannten Variablen Werte zu, und der Effekt ist der gleiche, aber ein Versuch kann nicht schaden. Im Allgemeinen gibt es so etwas nicht. Docker selbst verfügt über ein vollständiges Betriebssystem und hat nichts mit dem Hostcomputer zu tun.

2. Rufen Sie den Chrome-Browser-Container auf

set LC_ALL="C.UTF-8"

Bildbeschreibung hier einfügen

3. Ändern Sie dann die globalen Eigenschaften der Jenkins-Systemeinstellungen und ändern Sie das vorherige LANG = zh_CN .UTF-8 in LANG = C.UTF-8. Der Grund ist: Derzeit wird der Servermarkt im Wesentlichen von Centos und Debian besetzt. Centos basiert auf Redhat, Debian ist selbst bezogen, Centos ist von Redhat abgeleitet, verschiedene Patches und Dienste sind vollständiger, Centos wird auch als Server verwendet. Wenn ich mich nicht irre, verwendet der Hostcomputer, auf dem sich Jenkins befindet, das Debian-System anstelle von Centos, da das Gebietsschema in Debian zh_CN.UTF-8 unterstützt und Centos C.UTF-8 unterstützt

Bildbeschreibung hier einfügen

Starten Sie abschließend den Jenkins-Dienst neu (fügen Sie nach der Jenkins-Adresse /restart hinzu), starten Sie dann die Aufgabe und zeigen Sie das Protokoll der Jenkins-Konsole an!

Bildbeschreibung hier einfügen

Nachtrag: Möglicherweise muss die Sprache im Container festgelegt werden. Dies hängt möglicherweise mit der Jenkins-Systemeinstellung der globalen Eigenschaftssprache LANG = C.UTF-8 zusammen.

Zusammenfassen

Das oben genannte Problem betrifft das vom Editor eingeführte Problem, dass beim Erstellen von Jenkins-Aufgaben in der Docker-Umgebung verstümmelte chinesische Schriftzeichen im Konsolenprotokoll erscheinen. Ich hoffe, es wird allen helfen!

Das könnte Sie auch interessieren:
  • Docker erstellt Jenkins und automatisiert die Schritte zum Verpacken und Bereitstellen von Projekten
  • Verwenden der Docker+Jenkins+Python3-Umgebung zum Erstellen eines äußerst detaillierten Tutorials
  • Docker+Gitlab+Jenkins erstellt automatisierte Bereitstellung von Grund auf
  • Docker erstellt eine Jenkins+Maven-Plattform zum Erstellen und Bereitstellen von Code
  • Beispiel für den Aufbau eines Jenkins-Dienstes mit Docker
  • Implementierung des Jenkins-Automatisierungstools mithilfe von Docker

<<:  Beispiel zum Überprüfen der Kapazität einer MySQL-Datenbanktabelle

>>:  JavaScript implementiert die Verarbeitung großer Datei-Uploads

Artikel empfehlen

Installieren und Konfigurieren von MySQL unter Linux

System: Ubuntu 16.04LTS 1\Laden Sie mysql-5.7.18-...

Tutorial zur Installation von jdk1.8 auf Ubuntu14.04

1. Laden Sie die JDK-Download-Adresse herunter我下載...

Erläuterung der Lösung zur mobilen H5-Bildgenerierung in JavaScript

Derzeit gibt es viele Betriebsaktivitäten für öff...

Implementieren Sie eine einfache Suchmaschine auf Basis von MySQL

Inhaltsverzeichnis Implementierung einer Suchmasc...

Detaillierte Erläuterung des SQL_Mode-Modusbeispiels in MySQL

Dieser Artikel beschreibt den SQL_Mode-Modus in M...

Erklärung zur Änderung des npm Taobao-Spiegels

1. Nutzung auf höchster Ebene 1. Installieren Sie...

Native JavaScript-Implementierung des Fortschrittsbalkens

Der spezifische Code für JavaScript zur Implement...

Detaillierte Erklärung der Kernkonzepte und der grundlegenden Verwendung von Vuex

Inhaltsverzeichnis einführen Start Installieren ①...

Detaillierte Erklärung zu MySQL und Springs Autocommit

1 MySQL Autocommit-Einstellungen MySQL führt stan...

Vue-cli erstellt ein Projekt und analysiert die Projektstruktur

Inhaltsverzeichnis 1. Geben Sie ein Verzeichnis e...