J'ai ajouté un nouvel emploi à Jenkins, que je souhaite programmer périodiquement.
De Configure job, je coche la case "Construire périodiquement" et dans le champ de texte Calendrier, a ajouté l'expression:
15 13 * * *
Mais il ne s'exécute pas à l'heure prévue.
Est-ce la bonne procédure pour planifier un travail?
Le travail doit être exécuté à 4h20, mais il ne s'exécute pas.
En réglant la période de planification sur 15 13 * * *
, vous indiquez à Jenkins de planifier la construction chaque jour de chaque mois de chaque année à la 15e minute de la 13e heure du jour.
Jenkins a utilisé un expression cron , et les différents champs sont:
Si vous voulez planifier votre construction toutes les 5 minutes, cela fera le travail: */5 * * * *
Si vous voulez planifier votre construction tous les jours à 8h00, cela fonctionnera: 0 8 * * *
Pour les dernières versions (2014), Jenkins a un nouveau paramètre, H
(extrait de documentation du code Jenkins ):
Pour permettre aux tâches planifiées périodiquement de produire une charge uniforme sur le système, le symbole
H
(pour "hash") doit être utilisé chaque fois que possible.Par exemple, utiliser
0 0 * * *
pour une douzaine de tâches quotidiennes provoquera un pic important à minuit. En revanche, l’utilisation deH H * * *
exécuterait toujours chaque travail une fois par jour, mais pas tous en même temps, il serait préférable d’utiliser des ressources limitées.
Notez également que:
Le symbole
H
peut être considéré comme une valeur aléatoire sur une plage, mais il s’agit en fait d’un hachage du nom du travail, et non d’une fonction aléatoire, de sorte que la valeur reste stable pour un projet donné.
Jenkins vous permet de configurer plusieurs fois, séparées par des sauts de ligne.
Si vous avez besoin de construire tous les jours à 7 heures, et tous les dimanches à 16 heures, le tableau ci-dessous fonctionne bien.
H 7 * * *
H 16 * * 0
*/5 * * * *
signifie toutes les 5 minutes
5 * * * *
signifie la 5ème minute de chaque heure
Le format est le suivant:
MINUTE (0-59), HEURE (0-23), JOUR (1-31), MOIS (1-12), JOUR DE LA SEMAINE (0-6)
La lettre H, représentant le mot , un hachage peut être insérée à la place de n'importe laquelle des valeurs. Il calculera le paramètre en fonction du code de hachage de votre nom de projet.
C’est pourquoi si vous construisez plusieurs projets à la fois sur votre machine de compilation, disons minuit chaque jour, ils ne commencent pas tous l’exécution de la compilation en même temps. Chaque projet commence son exécution à une minute différente selon son code de hachage.
Vous pouvez également spécifier que la valeur doit être comprise entre des nombres, c'est-à-dire que H (0,30) renverra le code de hachage du projet où les hachages possibles sont compris entre 0 et 30.
Exemples:
Commencez à construire tous les jours à 8h30 du lundi au vendredi: 08 * * 1-5
Jour de semaine, construction quotidienne deux fois par jour, à midi, de midi à minuit, du dimanche au jeudi: 0,12 * * 0-4
Commencez à construire tous les jours en fin d’après-midi entre 16h00 et 17h00. - 16h59 ou 16:00 - 16: 59 en fonction du hash du projet: H 16 * * 1-5
Début de la construction à minuit: @ minuit ou début des constructions à minuit, tous les samedis: 59 23 * * 6
Tous les premiers jours de chaque mois entre 2 h et 2 h 30: H (0,30) 02 01 * *
Pour planifier un travail cron toutes les 5 minutes, vous devez définir les paramètres cron comme suit:
*/5 * * * *
Essayez d’utiliser 0 8 * * *. Ça devrait marcher
Les étapes pour les travaux de planification dans Jenkins:
@midnight
Remarque : sous le champ de planification, vous pouvez voir la dernière et la prochaine exécution date-heure.