Jenkins: Как настроить оболочку shell и как устранить вывод каракулей, спецсимволов в консоли.
Разберем проблемы связанные с некорректным выводом информации в консоли Jenkins версии 2.414.3.
1. Настройка оболочки shell в Jenkins
2. Иероглифы "ДЗ РїРѕ постману" в консоли Jenkins вместо букв кириллицы
3. Отображение "[39m[90m┬" в консоли Jenkins вместо линий разметки
№1Проблема: При создании сборки в Jenkins с типом "Создать задачу со свободной конфигурацией" и шагом сборки "Выполнить команду shell" возникают проблемы после выполнения команды в шаге сборки по запуску коллекции Postman:
newman run https://api.postman.com/collections/key...
В консоли я мог получить ложно-положительный результат с иероглифами: "��������".
Так же были ошибки, когда исполняемая оболочка не могла запуститься: "java.io.IOException: CreateProcess error=2, Не удается найти указанный файл":
Одно из решений (на выбор) проблемы №1:
1.1 Попробовать установить Git и прописать настройку к оболочке sh.exe. Полный путь: "C:\Program Files\Git\bin\sh.exe" в "Настроить Jenkins" -> "System" -> спуститься до раздела "Shell" и указать путь:
ИЛИ
1.2 В Windows добавить "Переменные среды" с "C:\Program Files\Git\bin\" в "Системные переменные" -> добавить переменную "Path":
1.2.1 После добавления системной переменной в Path, перезапустить службу Jenkins:
Теперь отчет в консоли будет формироваться через оболочку Git -> sh.exe.
№2Проблема: Если в консоли присутствуют кириллические буквы, то Jenkins показывает их в нечитаемой кодировке, пример: "ДЗ РїРѕ постману":
Решение проблемы №2:
2.1 Перейти в папку "C:\Program Files\Jenkins" и открыть через Notepad++ файл jenkins.xml для редактирования. Добавить:
-Dfile.encoding=UTF8
После этого отчет будет отображен с кириллицей корректно:
№3Проблема: Команда в Git -> sh.exe имеет цветовую схему. Поэтому в консоли Jenkins вместо цветных линий выводятся каракули, пример: "[39m[90m┬":
Решение проблемы №3:
3.1 Перейти в "Настроить Jenkins" -> "Plugins" -> "Available plugins" -> install "AnsiColor":
3.2 Перейти в сборку, нажать "Настройки" -> раздел "Общие настройки" -> пункт "Среда сборки" -> выбрать "Color ANSI Console Output" нужную схему, которая подойдет вам. У меня это "xterm":
После нажать "Собрать сейчас" и увидеть, что вывод отчета в консоли jenkins имеет корректную разметку без спецсимволов вместо линий: