Как в логе Jenkins получить информацию о завершении шага сборки по таймауту?

jenkins

#1

Автор @1cgh

Cитуация: есть jenkins, есть юнит-тест (в данном случае дымовой), запускается в билде тестирование раннером.
на стэйдж в пайплайне с юнит-тестами в дженкинсе настроен таймаут

в случае когда в процессе теста возникает невосстановимая ошибка платформы, то тестирование на этом месте “зависает” и в результате стэйдж в дженкинсе валится просто по таймауту

Вопрос: как в таких случаях в логе сборки дженкинса получать инфу на каком тесте эта беда произошла?


#2

/cc @nixel2007 @ebessonov @lustin @pumbaE


#3

Ну так надо реализовывать как vanessa вывод информации в отдельный файл и runner отдельно читать и выводить в стандартный вывод. Как тут http://ci.silverbulleters.org/job/ADD%20test/job/develop/17/console

[behavior 8310UF] ИНФОРМАЦИЯ - 5%
[behavior 8310UF] ИНФОРМАЦИЯ - Сценарий: Загрузка фичи с секцией Контекст, когда указаны теги фильтры
[behavior 8310UF] 27.03.2018 11:00:33: ИНФОРМАЦИЯ - ИНФОРМАЦИЯ - Сценарий: Загрузка фич когда указаны теги фильтры и теги исключения
[behavior 8310UF] 27.03.2018 11:01:12: ИНФОРМАЦИЯ - ИНФОРМАЦИЯ - Фича: c:\cicd\workspace\p\build\features\Core\FeatureReader\ОтрицательныеЧисла.feature
[behavior 8310UF] ИНФОРМАЦИЯ - 6%

#4

Во первых https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#code-timeout-code-enforce-time-limit

timeout(20) {
  node {
    bat 'vrun xunit --smoke'
  }
} on timeout (
  sh 'vrun xunit -getlastruntestfromjournal
) 

походу мы должны парсить текущий тест на котором упали из журнала - журнал должен быть


#5

что за секция ‘on timeout’? не вижу ее в спеке дженкинсфайла


#6

Ну можно всегда в try обернуть и анализировать e


#7

тоже верно


#8

Сделал специальную задачу для ADD https://github.com/silverbulleters/add/issues/75


#9

Ну имхо в xunit надо менять работу с параметрами, разделитель в виде пробела - очень не нравится.


#10

Ишуз есть.


#11

В ADD реализован ишуз
пока только в ветке девелоп, но скоро выпустим релиз ADD.