Поднять Прервать в Дженкинс Работа из пакетного сценария - PullRequest
0 голосов
/ 15 мая 2018

У меня есть задание Jenkins, которое выполняет синхронизацию Git и создает исходный код.

Я добавил и создал параметр «Задача после сборки».

В «Задаче после сборки»,Я ищу ключевое слово «TIMEOUT:» в выводе консоли (эта часть выполнена) и хочу объявить задание как Failed и Aborted, если ключевое слово совпадает.

Как я могу поднять / объявить задание как прерванное из пакетного сценарияесли ключевое слово соответствует.Что-то вроде echo ABORT?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Это проще, если вы хотите пометить его как "FAIL"

Просто выход 1 сделает это.

Сложно добиться «Прервать» из плагина задач после сборки, гораздо проще использовать Groovy плагин после сборки.

Groovy post build предоставляет богатые функции, чтобы помочь вам.

Например, функция соответствия:

def matcher = manager.getLogMatcher(".*Total time: (.*)\$")
if(matcher?.matches()) {
    manager.addShortText(matcher.group(1), "grey", "white", "0px", "white")
}

Функция отмены:

  def executor = build.executor ?: build.oneOffExecutor;
  if (executor != null){
      executor.interrupt(Result.ABORTED)
  }

Br

Тим

0 голосов
/ 15 мая 2018

Вы можете просто выйти из потока и вызвать нужный код ошибки:

echo "Timeout detected!"
exit 1

Дженкинс должен обнаружить ошибку и настроить сборку как неудачную.

Код ошибки должен быть от 1 до 255. Вы можете выбрать все, что захотите, просто имейте в виду, что какой-то код зарезервирован: http://tldp.org/LDP/abs/html/exitcodes.html#EXITCODESREF

Вы также можете использовать плагин тайм-аута: https://wiki.jenkins.io/display/JENKINS/Build-timeout+Plugin

И еще один вариант - построить запрос к BUILD ID URL/stop. Именно это и делается, когда вы вручную прерываете сборку.

echo "Timeout detected!"
curl yourjenkins/job_name/11/stop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...