Могу ли я настроить Jenkins 'Build периодически' на создание второго вторника, начинающегося 13 марта? - PullRequest
5 голосов
/ 01 марта 2012

Я хочу назначить Дженкинсу выполнение определенной работы в 8:00 каждый понедельник, среду, четверг и пятницу и 8:00 каждый второй вторник.

Прямо сейчаслучшее, что я могу придумать, это:

# 8am every Monday, Wednesday, Thursday, and Friday:
0 8 * * 1,3-5

# 8am on specific desired Tuesdays, one line per month:
0 8 13,27 3 2
0 8 10,24 4 2
0 8 8,22 5 2
0 8 5,19 6 2
0 8 3,17,31 7 2
0 8 14,28 8 2
0 8 11,25 9 2
0 8 9,23 10 2
0 8 6,20 11 2
0 8 4,18 12 2

, что хорошо (если некрасиво) для оставшейся части 2012 года, но почти наверняка не будет делать то, что я хочу в 2013 году. Есть ли более краткий способ сделать это или тот, который не зависит от года?

Ответы [ 4 ]

2 голосов
/ 02 марта 2012

Это то, что встречается довольно часто, см., Например, этот документ , эту ветку форума или этот вопрос stackoverflow .

Ответ в основном нет.В вашей ситуации я бы выполнил задание каждый вторник и на первом этапе сборки проверил, действительно ли он выполняется, например, проверив, существует ли файл и работает ли он только в противном случае.Если он существует, он будет удален, чтобы задание могло быть запущено при следующей проверке.Вы, конечно, также должны проверить, не сегодня ли вторник.

1 голос
/ 07 ноября 2017

Я получил тебя Fam: crontab.guru

10 22 1-7,14-21,28-31 * 6
1 голос
/ 03 августа 2016

Если вы покидаете каждый вторник и можете быть удовлетворены первым и третьим вторниками в месяц, должно работать следующее: 0 9 1-7 * 2 0 9 15-21 * 2

Вы бегаете каждый день с 1-7, но только во вторник и каждый день с 15-21, снова только во вторник. Вторник будет происходить только один раз в каждом из этих интервалов.

Да, это не строго каждую вторую неделю, так как месяц с 5 по вторник будет сбивать вашу частоту, но здесь у вас есть предсказуемый график работы, который не нужно корректировать в Дженкинсе с течением времени.

0 голосов
/ 15 октября 2012

Я использую Excel для генерации выражений cron. Следующие формулы генерируются каждый второй понедельник в 8:00 утра, начиная с 22 октября.

      A      B              C               D
1    41204  =MONTH(A1)  =DAY(A1)        =CONCATENATE("0 8 ", C1, " ", B1, " 1")
2    =A1+14 =MONTH(A2)  =DAY(A2)    =CONCATENATE("0 8 ", C2, " ", B2, " 1")

Это генерирует

    A       B       C       D 
1   22-Oct  10  22  0 8 22 10 1
2   5-Nov   11  5   0 8 5 11 1

Просто заполните строку 2 автоматически, чтобы получить дополнительные дни. Я не уверен, сколько отдельных выражений вы можете дать Дженкинсу. Я знаю, что это работает с 26 выражениями.

...