2015-08-15 8 views
9

Как можно планировать строительство трубопровода в определенное время суток точно так же, как обычная работа?Jenkins Build Pipeline Запланированный триггер

+1

Do вы имеете в виду трубопровод из плагина трубопровода сборки? Если да, то его просто представление просто добавляет «Строить периодически» к первой задаче в вашем конвейере. Желаете, чтобы первое задание выполнялось на «Poll SCM»? – mszalbach

ответ

-3

Если вы используете Build pipeline plugin вы можете просто добавить триггер для первой работы, и что вызовет полный трубопровод

Если вы используете Дженкинс 2.0 и создать новый элемент типа трубопровода, то вы можете просто планировать как и любая другая работа

3

В конфигурацию основного задания вашего конвейера (первая) установите флажок «Построить периодически» и укажите нужное расписание.

следуйте инструкциям синтаксиса.

the field follows the syntax of cron (with minor differences). Specifically, each line consists of 5 fields separated by TAB or whitespace: 
MINUTE HOUR DOM MONTH DOW 
MINUTE Minutes within the hour (0–59) 
HOUR The hour of the day (0–23) 
DOM The day of the month (1–31) 
MONTH The month (1–12) 
DOW The day of the week (0–7) where 0 and 7 are Sunday. 

To specify multiple values for one field, the following operators are available. In the order of precedence, 

    * specifies all valid values 
    M-N specifies a range of values 
    M-N/X or */X steps by intervals of X through the specified range or whole valid range 
    A,B,...,Z enumerates multiple values 

Examples: 

# every fifteen minutes (perhaps at :07, :22, :37, :52) 
H/15 * * * * 
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24) 
H(0-29)/10 * * * * 
# once every two hours every weekday (perhaps at 9:38 AM, 11:38 AM, 1:38 PM, 3:38 PM) 
H 9-16/2 * * 1-5 
# once a day on the 1st and 15th of every month except December 
H H 1,15 1-11 * 
+0

Как бы вы сделали это только для определенной ветки, если используете многоканальные трубопроводы? –

11

Вы можете установить параметры задания, используя следующий синтаксис:

properties([pipelineTriggers([cron('H 23 * * *')])]) 

Добавление этой строки в сценарий сборки или Jenkinsfile будет настроить задание для запуска каждую ночь в 11 вечера.

+0

Это не работает в сценариях под jenkins 2.79 (java.lang.UnsupportedOperationException: Неопределенный символ 'pipeTriggers') – Eric

3

декларативный трубопровод имеет triggers директивы, один использует его как это:

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

Я взял его из Pipeline Syntax docs

+1

FYI: это построит каждую ветвь, которая включает эту строку в свой 'Jenkinsfile'; то есть, если у вас это есть в вашей ветке 'master' или' develop', и все ветви функций в процессе работы, все они будут запускаться по этому расписанию. – dwj

+0

@dwj, который в большинстве случаев не тот, который нужен! – ferdy

Смежные вопросы