Скрипт для повторного запуска неудачных сборок на матрице - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь подготовить скрипт для настройки нескольких заданий с помощью плагина Jenkins Job DSL.Он должен подготовить матричное задание со многими осями (что-то около 50) и с настроенным параметром «Повторить сборку после сбоя», но я заметил, что он не поддерживает все доступные параметры.

В конфигурации задания (вручную) мыможно установить:

  • Перезапустить сборку для нестабильных сборок и сбоев
  • Перезапустить сборку только для неисправных деталей в матрице
  • Задержка перед повторной попыткой сборки
  • Максимальное количество последовательных неудачных сборок

и DSL заданий Jenkins имеет:

  • fixedDelay (задержка int)
  • progressDelay (приращение int, int max)
  • rerunIfUnstable (boolean rerunIfUnstable = true)
  • retryLimit (int retryLimit).

В настоящее время мой скрипт выглядит так:

publishers {
  retryBuild {
    rerunIfUnstable()
    retryLimit(2)
    fixedDelay(0)
  }
}

К сожалению, я не могу настроить опцию: «Перезапустить сборку только для неисправных деталей на матрице» ... Это необходимо, потому что я не хочу перезапускать все детали, просто потому, что одна из них выходит из строя.

это возможно сделать сомehow?Это не должно быть сделано плагином Job DSL (но, конечно, не вручную).

Характеристика этого проекта иногда приводит к отказу некоторых деталей, поэтому необходим повторный запуск.

1 Ответ

1 голос
/ 11 июня 2019

Встроенный DSL поддерживает не все опции.Но Динамический DSL делает:

matrixJob('example') {
  publishers {
    naginatorPublisher {
      regexpForRerun(null)
      rerunIfUnstable(true)
      rerunMatrixPart(true)
      checkRegexp(false)
      maxSchedule(2)
      delay {
        fixedDelay {
          delay(0)
        }  
      }
    } 
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...