Могу ли я установить "периодически строить" Дженкинса, чтобы строить каждый второй вторник, начиная с 13 марта?
Я хочу, чтобы запланировать Jenkins, чтобы выполнить определенную работу в 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 ответов:
Это то, что встречается довольно часто, см., например, этот документ, Эта тема форума или этот вопрос stackoverflow.
Ответ в принципе отрицательный. То, что я сделал бы в вашем situtation, это запуск задания каждый вторник и первый шаг сборки проверить, действительно ли выполняется, например, проверяя, существует ли файл и работает только в том случае, если он не существует. если он существует, он будет удален, чтобы задание могло выполняться в следующий раз, когда эта проверка происходит. Вы бы из конечно, еще надо проверить, вторник ли сегодня.
Если вы отказываетесь от каждого второго вторника и можете довольствоваться первым и третьим вторниками в месяц, то должны работать следующие: 0 9 1-7 * 2 0 9 15-21 * 2
Вы работаете каждый день с 1-7, но только во вторник, и каждый день с 15-21, снова только во вторник. Вторник будет происходить только один раз в каждом из этих интервалов.
Да, это не строго каждые две недели, так как 5-й вторник месяца сбросит вашу каденцию, но здесь у вас есть предсказуемая работа расписание, которое не нуждается в корректировке в Дженкинсе с течением времени.
Я тебя Фам: кронтаб.гуру
10 22 1-7,14-21,28-31 * 6
Я использую 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 выражениями.
Comments