Плагин конвейерного задания (workflow-job-plugin) выдает пустой вывод консоли при возникновении ошибки - PullRequest
0 голосов
/ 31 мая 2019

Этот вопрос был задан на Дженкинс Джира, но там он был заброшен, поэтому я стараюсь здесь на переполнении стека.

https://issues.jenkins -ci.org / browse / JENKINS-55024


При обновлении до версии 2.29 плагина "Конвейер: Задание" пользователи получали полностью пустой вывод консоли в случае ошибки.

Понижение до версии2.28 исправил проблему.

При расследовании мы обнаружили в журнале ошибок, что файл журнала не может быть найден:

java.io.FileNotFoundException: / var / lib / jenkins / jobs / iText-merge-pipeline / builds / 319 / log (нет такого файла или каталога)

См. вложения для скриншотов вывода консоли и журнала.

Если я читаю журнал изменений для версии 2.29

JENKINS-54128: Измените реализацию WorkflowRun # getLogFile, чтобы избежать создания нового временного файла при каждом вызове метода.Исправление: не вызывайте WorkflowRun # getLogFile при возникновении ошибки при открытии файла журнала для конвейера, чтобы избежать регистрации дополнительной трассировки стека. Я полагаю, что WorkflowRun # getLogFile также не вызывается при возникновении ошибки в сценарии конвейера.

Проблема вновь возникла, потому что плагин Warnings Next Generations зависит от плагина Pipeline Job> 2.28.

Было несколько вопросов для информации.Я постараюсь привнести в них некоторую структуру, а затем ответить на них один за другим.

  1. Как выглядит папка сборки для сборки?
  2. Существует ли файл журнала??
  3. Есть ли какие-либо другие ошибки в журналах Jenkins, которые кажутся актуальными?
  4. Знаете ли вы, если сборка, которая была повреждена, создавалась при перезапуске Jenkins для обновления плагина или ужезавершено?
  5. Для сборок перед обновлением полный журнал сборки должен работать нормально (некоторая разметка не будет отображаться правильно), но журналы шагов, как ожидается, будут повреждены.Это то, что вы видите?
  6. Я не совсем уверен, что вы подразумеваете под "полными журналами шагов сборки".
  7. У нас есть воспроизводимая ошибка?
  8. Вывсе еще видите эту проблему?
  9. Можете ли вы присоединить сбойный сценарий конвейера, чтобы мы могли видеть, что он делает?

Вопрос 1 Я не уверен, какой ответ вы хотите:

скриншот папки сборки?список каталогов папки сборки?тарбол из папки сборки?У меня нет доступа по ssh к серверу, на котором работает Jenkins, и я не знаю, что вы хотите, поэтому я воспользуюсь методом грубой силы.Сложно также работает.Я собираюсь сделать работу, которая запускает ls -ld $ (find / var / lib / jenkins).Пожалуйста, дайте мне знать, что именно вам нужно, потому что я предполагаю, что список каталогов может также содержать конфиденциальную информацию.

Вопрос 2 Как я могу узнать, существует ли файл журнала?

Вопрос 3 КакойДженкинс бревна точно?Я был бы рад предоставить вам информацию, если я знаю, где искать.

Вопрос 4 Это неоднозначный вопрос, буквальный ответ будет «Я знаю», но это не поможет.Вместо этого я отвечу с шагами для воспроизведения:

Плагин конвейерного задания - версия 1.28.Начните неудачную работу, работу 1, и дайте ей закончить.Посмотрите на консольный вывод задания 1 -> есть консольный вывод для задания 1. Обновите плагин конвейерного задания до> 1.28.Перезапустите Дженкинс.Посмотрите на консольный вывод задания 1 -> есть консольный вывод для задания 1. Запустите сбойное задание, задание 2, и дайте ему закончить.Посмотрите на консольный вывод задания 2 -> консольный вывод для задания 2 пуст.Понизить плагин конвейерного задания до 1.28.Перезапустите Дженкинс.Посмотрите на консольный вывод задания 1 -> есть консольный вывод для задания 1. Посмотрите на консольный вывод задания 2 -> выход консоли для задания 2 пуст.Начните неудачную работу, работу 3, и дайте ей закончить.Посмотрите на консольный вывод задания 3 -> есть выход консоли для задания 3. Вопрос 5Для сборок, предшествующих обновлению, действительно есть консольный журнал, как описано в моем ответе на вопрос 4.

Я не знаю о разметке, это важно или важно, и если да, то как я могу проверитьэто?

Ожидается, что журналы шагов будут повреждены.

-> Я не понимаю, что это значит, не могли бы вы объяснить?

Вопрос 6 Это вопрос?вопрос для Марко Андриса или для Дженса Бейера?

Вопрос 7 Это вопрос для Марко Андриса или для Дженса Бейера / Девина Нусбаума?

Вопрос 8 Да, мы все еще видим эту проблему.

Вопрос 10 test-pipe-Jenkinsfile

...