Обновление триггеров cron декларативного конвейерного задания не обновляет триггеры - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть декларативное конвейерное задание, определенное как конвейерный скрипт (не конвейерный от SCM).У него есть триггер cron:

triggers {
    cron('H */4 * * 1-5')
}

Я несколько раз запускал его по требованию и запускал cron, и пока все в порядке.Теперь, если я изменяю триггер cron, jenkins не принимает изменения, старый триггер остается в силе до тех пор, пока я не заставлю запускаться задание.

Как заставить Jenkins использовать измененные триггеры без запуска заданиявручную?Я думаю, что вопрос действительно может быть распространен на любые декларативные изменения определения задания, как мне заставить Дженкинса обновить настройки задания, не заставляя его запускать.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Это связано с тем, как работает трубопровод Дженкинса.Инициирование, а также другие настройки задания загружаются в Jenkins только после выполнения задания один раз.Это просто вопрос яйца и курицы.

Поскольку конвейерное задание должно быть в контексте места, в котором оно было сохранено (например, Github), вы должны рассмотреть возможность его запуска и использовать некоторую внутреннюю логику.решить, запускать его или нет.

Сложность этого решения должна зависеть от того, сколько раз вы обновляете свой триггер.

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

Короче говоря, в настоящее время, на момент написания, вы не можете.

Я работаю над этим для параметризованных конвейеров, добавляя опцию «noop», и они гарантируют, что мой конвейер ничего не делает, когда выбрана эта опция.Таким образом, задание выполняется, но не имеет побочных эффектов.

Если ваш конвейер не параметризован, нам, как я уже сказал, не повезло.

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