Могу ли я установить "периодически строить" Дженкинса, чтобы строить каждый второй вторник, начиная с 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 году.



Есть ли более лаконичный способ сделать это, или тот, который не зависит от года?

452   4  

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

    Ничего не найдено.