Добавить параметр build в расписание сборки jenkins

У меня работа с дженкинсом. Я хочу построить свою работу в определенное время с помощью параметра build.

Я хочу сделать это, используя опцию Build periodically.

У меня есть такой ввод:

*/1 * * * * Parameter1

Если я это сделаю, у jenkins появится ошибка.

Возможно ли это без использования какого-либо плагина.

если нет, то какой плагин будет лучше

В качестве альтернативы можно указать параметр здесь в расписании?

Мое фактическое требование таково:

 build in morning using one parameter
 build in evening using another parameter.    

Ответ 1

В принципе, с опцией Build периодически вы не можете планировать работу Jenkins с параметрами.

Однако, чтобы запланировать задание в разное время, которое необходимо использовать в разных средах, вы должны использовать плагин параметризованного планировщика, как указано выше https://github.com/jwmach1/parameterized-scheduler или выполните поиск в (Управление Jenkins → Управление плагинами → Параметрированный планировщик). так это будет #Parameter1 H/15 * * * * %Parameter1 #Parameter2 H/30 * * * * %Parameter2 Помните, что у вас уже есть параметры, потому что плагин отображается только для заданий с параметрами.

Плагин параметров Node и Label может помочь, поскольку он позволяет вам выбирать отдельные узлы, предполагая, что ваши разные серверы qa1 и qa2 уже настроены. Надеюсь, что это разъяснит вам.

Ответ 2

С родным Jenkins crontab это не возможно.

Но это должно быть возможно с этим плагином: https://github.com/jwmach1/parameterized-scheduler

Вы должны раскошелиться на репо и собрать этот плагин + выполнить ручную установку.

В этом руководстве объясняется, как создать собственный плагин: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial.

(Настройка среды + Создание плагина)

Ответ 3

Я использую версию Jenkins 2.46.2. Я установил плагин Parameterized Scheduler для периодического запуска сборки с другим параметром. введите описание изображения здесь

Но сборка не запускается

Ответ 4

Без плагинов вы можете попробовать клонировать задание и создать график сборки с различными значениями параметров. Т.е. у вас могут быть job_morning и job_evening.

См. Как я клонирую работу в Дженкинс?

Ответ 5

Может быть, не совсем то, что вы хотите, но это интересный хак, я узнал, поэтому я решил поделиться. Вы можете программно установить параметры работы Jenkins в зависимости от среды.

# check if job was trigered by timer
if [ $(env | grep -E '^BUILD_CAUSE=TIMERTRIGGER$') ] ; then 
  # your logic here, utilise the power of bash   
  if [ $(date +"%H") -eq 16 ] ; then PARAM=VALUE_1 ; fi
  if [ $(date +"%H") -eq 17 ] ; then PARAM=VALUE_2 ; fi
fi