Добавить параметр 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