Jak zaplanować pracę w Jenkins?

Dodałem nową pracę w Jenkins, którą chcę zaplanować okresowo.

Z Configure job zaznaczam pole wyboru "Build Periodycly" i w polu tekstowym Schedule dodałem wyrażenie:

15 13 * * *

Ale nie działa w zaplanowanym czasie.

Czy to właściwa procedura, aby zaplanować pracę?

Tutaj wpisz opis obrazka

Praca powinna być uruchomiona o 4: 20 rano, ale nie jest uruchomiona.

 188
Author: Peter Mortensen, 2012-09-18

7 answers

Ustawiając terminarz na 15 13 * * * każesz Jenkinsowi zaplanować budowę każdego dnia każdego miesiąca każdego roku w piętnastej minucie trzynastej godziny dnia.

Jenkins użył wyrażenia cron , a poszczególne pola to:

  1. minut minut w jedną godzinę (0-59)
  2. godziny godzin w jeden dzień (0-23)
  3. DAYMONTH Day in a month (1-31)
  4. miesiąc miesiąc w roku (1-12)
  5. dzień tygodnia (0-7) gdzie 0 i 7 to niedziela

Jeśli chcesz zaplanować swoją budowę co 5 minut, to wykonasz zadanie: */5 * * * *

Jeśli chcesz zaplanować swoją budowę każdego dnia o 8: 00, to wykonasz zadanie: 0 8 * * *

Dla kilku ostatnich wersji (2014), Jenkins ma nowy parametr, H (wyciąg z dokumentacji kodu Jenkinsa):

Aby okresowo zaplanowane zadania mogły generować równomierne obciążenie systemu, należy użyć symbolu H (dla "hash") o ile to możliwe.

Na przykład użycie 0 0 * * * dla kilkunastu codziennych zadań spowoduje duży skok o północy. W przeciwieństwie do tego, użycie H H * * * nadal wykonywałoby każde zadanie raz dziennie, ale nie wszystkie w tym samym czasie, lepiej używając ograniczonych zasobów.

Zauważ również, że:

Symbol H może być traktowany jako losowa wartość w zakresie, ale w rzeczywistości jest to hash nazwy zadania, a nie Funkcja losowa, więc wartość pozostaje stabilna dla danego projekt.

Więcej przykład użycia "H"

 346
Author: Cédric Julien,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-21 17:04:05

Jenkins pozwala skonfigurować wiele razy, oddzielone podziałem na linie.

Jeśli potrzebujesz go budować codziennie o 7 rano, wraz z każdą niedzielę o 4 pm, poniżej działa dobrze.

H 7 * * *

H 16 * * 0
 19
Author: Pawan Gaitonde,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-21 17:05:54

*/5 * * * * oznacza co 5 minut

5 * * * * oznacza 5. minutę każdej godziny

 16
Author: Nikul Padhya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-22 19:40:58

Aby zaplanować zadanie crona co 5 minut, musisz zdefiniować ustawienia crona w następujący sposób:

*/5 * * * *
 5
Author: fduff,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-21 17:04:52

Format jest następujący:

MINUTA( 0-59), GODZINA (0-23), DZIEŃ (1-31), MIESIĄC (1-12), DZIEŃ TYGODNIA (0-6)

Zamiast dowolnej wartości można wstawić literę H, reprezentującą słowo Hash. Obliczy parametr na podstawie kodu hashowego Twojej nazwy projektu.

Jest tak, że jeśli budujesz kilka projektów na swojej maszynie budującej w tym samym czasie, powiedzmy codziennie o północy, nie wszystkie rozpoczynają swoją realizację w o tej samej porze. Każdy projekt rozpoczyna swoją realizację w innej minucie w zależności od jego kodu hashowego.

Możesz również określić wartość pomiędzy liczbami, tzn. H(0,30) zwróci kod hash projektu, w którym możliwe są skróty 0-30.

Przykłady:

  1. Zacznij budować codziennie o 08: 30 rano, od poniedziałku do piątku: 30 08 * * 1-5

  2. Dzień powszedni codziennie budować dwa razy dziennie, w porze lunchu 12: 00 i północy 00: 00, w niedzielę do Czwartek: 00 0,12 * * 0-4

  3. Zacznij budować codziennie późnym popołudniem w godzinach 16:00 - 16:59 lub 16:00-16:59 w zależności od projektów hash: H 16 * * 1-5

  4. Zacznij budować o północy: @midnight lub zacznij budować o północy, w każdą sobotę: 59 23 * * 6

  5. Co pierwszy miesiąc w godzinach 2:00 - 02: 30: H(0,30) 02 01 * *

 3
Author: Nagarjuna Yalamanchili,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-21 17:10:18

Spróbuj użyć 0 8 * * *. Powinno działać

 2
Author: user1815823,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-23 22:20:38

Dla każdego, kto nie chce czekać całą godzinę, aby zobaczyć, czy dana kompilacja wyzwala:

Aby uzyskać hash, możesz pobrać hasher tutaj . Użyj pełnej nazwy projektu wpisanej na stronie branch i wydrukuj ją w następujący sposób:

System.out.println(Hash.from("sub/microservices/master"));
 -1
Author: thoredge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-21 17:07:06