Pipeline - скриншот на Windows slave-ноде


#1

Jenkins. Stage выполняется на windows ноде. Настроен таймаут на выполнение, по разным причинам stage иногда падает по таймауту. Для разбора полетов хотелось бы получать скриншот происходящего на винде в момент истечения таймаута, прикрепленный как артефакт к билду. Как сделать?


#2

Есть самый простой способ

шаг после сборки - при любом расскладе sucseed/fail

import -window root screen.jpeg

требует установленного ImageMagick

P.S. Или VNC Recorder - но с ним большие так сказать проблемы/ И Headles - но это уже совсем изврат и все в челом через VNC сервер


#3

Чот мне кажется, что если используется pipeline (а вроде бы он и используется, раз автор топика пишет про stage), то такое не прокатит. Ведь когда сработал таймаут, процесс уже прибит, и вряд ли там чего годное можно будет на скрине увидеть.


#4

Таймаут он внутри Jenkins - это настройка Pipilene через примерно такую конструкцию

node "1C" {
with_timeout {
    sh 'main_job.sh'
 } always {
   sh 'create_screenshot'
 }
}

#5

Таймаут так задается:


Синтаксис декларативный если чё
Потыкаю в post


#6

Ну как, получилось запечатлеть на скриншоте причину таймаута?


#7

Так как для снятия скриншотов для VB уже стоит IrfanView, то в post для failure добавил аналогичную команду + archive скриншота в артефакты