Cron & Scheduling

cron Jenkins · Comprendre la plage choisie par H

Préparez une expression Core, ses plages H et le fragment Pipeline correspondant.

cron Jenkins

Expression

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Explication et fragment Pipeline

Options

Constructeur par champs

Ces champs sont un brouillon. Seul Appliquer remplace l’expression ci-dessus ; le texte collé reste la référence.

H/15 * * * *

Minute 0–59 ; heure 0–23 ; jour 1–31 ; mois 1–12 ; semaine 0–7. Listes numériques, plages, */pas, plage/pas ou H. Pas de nombre isolé/pas.

L’entrée ou les options ont changé. Actualisez les résultats avant l’export.

Le cron Jenkins utilise H pour répartir les tâches tout en gardant une valeur stable pour un même job. Le générateur montre les départs possibles séparément des valeurs fixes, afin de ne pas donner une heure précise à un hash encore inconnu.

Collez une expression cron ou préparez les cinq champs dans le générateur cron. Le choix du déclencheur distingue une planification de builds d’une vérification du dépôt : une interrogation pollSCM ne signifie pas forcément qu’un build aura lieu.

Pourquoi examiner votre cron Jenkins

Distinguer cadence et décalage

Avec le cron Jenkins, */15 sélectionne 0, 15, 30 et 45 minutes. H/15 choisit un départ de 0 à 14, puis avance de 15. Le rapport conserve cette incertitude au lieu de présenter tous les départs possibles comme autant d’exécutions.

Deux axes comparent quatre repères alignés et quatre repères régulièrement décalés.

Respecter la borne de la fenêtre

H(0-29)/10 commence entre 0 et 9 et reste dans la première moitié de l’heure. Les trois valeurs choisies ne dépassent pas 29. Afficher le départ et la borne finale évite de prolonger mentalement la cadence sur la seconde moitié.

Trois repères espacés régulièrement occupent seulement la première moitié colorée d’un axe.

Préparer un changement sans perdre la version actuelle

01

Vérifier le remplacement

Les modèles modifient seulement les champs du brouillon. L’aperçu compare les expressions et leur longueur ; Appliquer remplace ensuite la saisie. Annuler la modification restaure ensemble l’entrée, les options et le résultat précédent.

02

Noter le nom complet du job

Le nom facultatif peut inclure ses dossiers. Il sert à identifier le rapport et ne déclenche aucun calcul de hash. Les départs restent des candidats, même si vous connaissez le nom exact utilisé dans Jenkins.

03

Choisir le déclencheur

cron demande un build périodique ; pollSCM recherche des changements. L’analyse automatique attend 350 ms après la saisie. Désactivez-la pour travailler manuellement avec Ctrl/Cmd + Entrée. Les exports restent bloqués tant que le résultat est périmé.

Lire les conditions qui composent le déclencheur

Décomposer les cinq champs

Minute, heure, jour du mois, mois et jour de semaine acceptent les listes numériques, plages inclusives et pas sur une plage ou un astérisque. Les doublons numériques sont retirés et dimanche 7 est regroupé avec 0, sans réécrire l’expression d’origine.

Expliquer chaque élément H

Pour H(10-20)/4, le départ possible va de 10 à 13. Le nombre de valeurs dépend donc du départ. Les listes mêlant valeurs fixes et hash restent détaillées élément par élément ; aucun nombre total arbitraire n’est annoncé.

Développer les alias de Core

Les sept alias, dont @annually, sont reconnus. Par défaut, @monthly devient H H H * *, avec un jour lui aussi choisi par hash. @midnight devient H H(0-2) * * * : ce n’est pas une promesse d’exécution à minuit pile.

Produire le bon fragment Pipeline

Copiez l’expression seule ou le bloc triggers utilisant cron ou pollSCM. Le téléchargement texte ajoute les conditions et la note du job. Le nom librement saisi ne se retrouve jamais dans du code Groovy exécutable.

Limites de syntaxe et de prévision

Aucune heure réellement résolue
L’outil ne reproduit ni la suite aléatoire Java, ni l’état partagé entre plusieurs lignes, ni les fuseaux du contrôleur. Les réglages administrateur modifiant le hash des alias ne sont pas simulés. Vérifiez les horaires du job dans Jenkins.
Une seule ligne Core
L’expression est limitée à 512 unités UTF-16 et le nom à 1024. Sont exclus les secondes, l’année, JAN/MON, ?, L, W, #, 5/15, les en-têtes TZ=, commentaires, commandes et Jenkinsfiles complets. Utilisez H en majuscule.
Deux conditions de jour cumulatives
Le jour du mois et celui de semaine doivent tous deux correspondre. Un 31 février peut être syntaxiquement valide sans exister. H seul pour le jour utilise 1–28 ; H(29-31) peut sélectionner une date absente. Les pas journaliers varient aux changements de mois.
H/1 choisit une valeur
H/1 fonctionne comme H ; */1 sélectionne toutes les valeurs. Un pas de hash supérieur à 1 doit tenir dans sa plage. Deux jobs peuvent encore tomber au même moment. La page ne contacte pas Jenkins et ne crée ni ne lance de tâche.

Questions sur le cron Jenkins

Que signifie H/5 ?

Dans le champ minute, le départ est choisi entre 0 et 4, puis les valeurs avancent par pas de cinq dans l’heure. H/5 3,21 * * 1-5 applique ce motif les jours ouvrés pendant les heures 3 et 21. Ce n’est pas un seul build dans une fenêtre de cinq minutes.

Comment programmer un job dans Jenkins ?

Renseignez Build periodically dans la configuration ou placez le bloc triggers dans une Pipeline déclarative. cron demande un build même sans modification du code. Jenkins doit charger cette configuration et disposer des ressources nécessaires pour l’exécuter.

Peut-on utiliser plusieurs fuseaux horaires ?

Une configuration complète de déclencheur Core peut contenir une ligne TZ= avec un identifiant reconnu par Java. Sinon, le fuseau du contrôleur s’applique. Cet outil ne traite qu’une expression, sans en-tête de fuseau ni calcul selon l’heure du navigateur.

Quelle différence entre Poll SCM et Build periodically ?

Poll SCM interroge le dépôt et provoque un build lorsqu’un changement est détecté. Le build périodique ne dépend pas de changements. Choisissez pollSCM pour générer le fragment d’interrogation, puis vérifiez les particularités du dépôt dans Jenkins.

Comment lancer un job le dernier jour du mois ?

Core ne possède pas de sélecteur L pour la fin du mois. Une exécution quotidienne avec contrôle de date dans le job, ou un plugin adapté, constitue une autre solution. @monthly choisit par défaut un jour de 1 à 28 : ce n’est pas le dernier jour.

Une date inattendue ?

Finaliser la configuration dans Jenkins

Utilisez le cron Jenkins pour comparer les conditions et copiez le fragment adapté dans votre configuration. Consultez ensuite l’aperçu du contrôleur avant de compter sur une heure précise.

Une syntaxe valide ne garantit ni le démarrage ni le succès du build.