Как в Дженкинсе сделать действие, прежде чем прервать - PullRequest
0 голосов
/ 11 февраля 2020

Как вызвать какой-нибудь скрипт в jenkins перед прерыванием? Например, у меня длинная операция, и я хочу сделать снимок экрана, прежде чем процесс остановится по таймауту. Я хочу увидеть, где остановился процесс

stage("Start")
    {
        options{
            timeout(time: 1, unit: 'MINUTES')
        }
        steps   {
                // Start long command
                //Screenshot 1.jpg
                }  
    }
    post {
        always {
            archiveArtifacts '1.jpg'
        }
    } 

1 Ответ

0 голосов
/ 12 февраля 2020

Использование описательных конвейеров, как в вашем примере, перемещение 'скриншота' на post должно помочь

 stage("Start"){
   options{
     timeout(time: 1, unit: 'MINUTES')
   }
   steps {
     // Start long command
   }  
}
post {
  always {
    // take Screenshot
    archiveArtifacts '1.jpg'
  }
}

Если вы решите попробовать скриптовые конвейеры (или включают скрипт блок на свой текущий), вы можете сделать что-то вроде

try {
  timeout(20) {
    // Start long command
  }
} finally {
  // take Screenshot
}

Поскольку вы упоминаете «снимок экрана» в конвейере, который по своей природе безголовый, мне интересно, что вы имеете в виду.

Если вы хотите сделать снимок экрана интеграционного теста в WebDriver, Selenium или аналогичном, это должен быть сценарий тестирования, у которого есть тайм-аут и который делает снимок экрана при ошибке.

Пожалуйста, объясните немного больше своего сценария, чтобы дать лучший ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...