Cron & Scheduling

Jenkins Cron · Hash-Bereiche verständlich prüfen

Einen Core-Ausdruck erstellen, H-Bereiche prüfen und den Pipeline-Block vorbereiten.

Jenkins Cron

Ausdruck

Die Eingabe wird in diesem Browser verarbeitet und nicht an einen Server gesendet.

Erklärung und Pipeline-Block

Optionen

Feldeditor

Diese Felder sind ein Entwurf. Erst Übernehmen ersetzt den Ausdruck oben; eingefügter Text bleibt die Grundlage der Prüfung.

H/15 * * * *

Minute 0–59; Stunde 0–23; Tag 1–31; Monat 1–12; Wochentag 0–7. Zahlenlisten, Bereiche, */Schritt, Bereich/Schritt oder H; kein einzelner Zahlenwert/Schritt.

Eingabe oder Optionen geändert. Vor dem Export das Ergebnis aktualisieren.

Jenkins Cron verteilt Builds mit H innerhalb eines Zeitfensters. Für denselben Job bleibt die Wahl stabil. Der Generator zeigt mögliche Startwerte und feste Feldwerte getrennt, damit aus einem unbekannten Hash keine scheinbar genaue Uhrzeit wird.

Einen vorhandenen Cron-Ausdruck einfügen oder mit fünf Feldern einen Cron erstellen: Beide Wege nutzen dieselbe Prüfung. Der gewählte Build-Trigger entscheidet, ob der erzeugte Pipeline-Block einen Build anfordert oder nur nach Quellcodeänderungen sucht.

Warum Jenkins Cron genauer ansehen

Takt und Startwert unterscheiden

Bei Jenkins Cron wählt */15 die Minuten 0, 15, 30 und 45. H/15 beginnt dagegen bei einem Wert von 0 bis 14 und zählt in 15er-Schritten weiter. Der Bericht zeigt diesen Spielraum, ohne alle möglichen Minuten als tatsächliche Ausführungen auszugeben.

Zwei Zeitachsen vergleichen vier ausgerichtete Markierungen mit vier gleichmäßig verschobenen Markierungen.

Innerhalb des Fensters bleiben

H(0-29)/10 beginnt zwischen Minute 0 und 9 und endet spätestens bei 29. Dadurch passen drei Punkte in die erste halbe Stunde. Die zweite Hälfte gehört nicht zum Bereich; der Schritt verlängert das Fenster nicht automatisch.

Drei gleichmäßig verteilte Punkte liegen ausschließlich in der hervorgehobenen ersten Hälfte einer Zeitachse.

Entwurf und aktive Eingabe getrennt prüfen

01

Ersetzung zuerst ansehen

Vorlagen ändern nur die fünf Entwurfsfelder. Die Vorschau zeigt alten und neuen Ausdruck sowie die Zeichenzahl. Erst Anwenden ersetzt die Eingabe; Rückgängig stellt Eingabe, Einstellungen und Ergebnis gemeinsam wieder her.

02

Jobnamen als Notiz verwenden

Der optionale vollständige Name kann auch Ordner enthalten. Er wird im Bericht dokumentiert, aber nicht als Hash berechnet. Ein Name macht aus möglichen Startwerten keine bestätigten Zeiten für diesen Job.

03

Trigger wählen und aktualisieren

cron fordert regelmäßige Builds an; pollSCM prüft auf Änderungen. Die automatische Analyse wartet 350 ms. Bei ausgeschalteter Automatik analysiert auch Strg/Cmd + Enter. Nach Änderungen bleibt der Export bis zur erneuten Prüfung gesperrt.

Die Bedingungen hinter dem Zeitplan

Numerische Felder auflösen

Minute, Stunde, Monatstag, Monat und Wochentag unterstützen Listen, inklusive Bereiche und Schritte bei Stern oder Bereich. Doppelte Zahlen werden entfernt; Sonntag 7 wird im Zahlenbericht zu 0 zusammengeführt. Der kopierbare Ausdruck behält seine Schreibweise.

Jeden Hash einzeln erklären

Für H(10-20)/4 liegt der Start bei 10–13. Je nach Start entstehen unterschiedlich viele Werte. Gemischte Listen behalten deshalb ihre einzelnen Bedingungen; der Bericht verspricht keine feste Zahl von Läufen aus überlappenden Hash-Bereichen.

Aliasse nach Core-Vorgaben

Alle sieben Aliasse einschließlich @annually werden erklärt. @monthly wird standardmäßig zu H H H * *, also mit gehashtem Monatstag. @midnight entspricht H H(0-2) * * * und bedeutet nicht zwingend 00:00 Uhr.

Passenden Pipeline-Block erzeugen

Ausdruck und triggers-Block lassen sich getrennt kopieren. Der Textdownload enthält Feldbedingungen, Trigger und Jobnotiz. Frei eingegebene Namen erscheinen nur im Bericht und werden nicht in ausführbaren Groovy-Code eingebaut.

Grenzen der Prüfung und der Zeitvorschau

Keine tatsächlichen Jobzeiten
Java-Zufallsfolge, gemeinsamer Hash-Zustand mehrerer Zeilen, Controller-Zeitzone und geänderte Alias-Hash-Einstellungen werden nicht nachgebildet. Auch mit vollständigem Namen bleibt der Hash ungelöst. Die tatsächliche Planung ist in Jenkins zu prüfen.
Eine Core-Zeile
Der Ausdruck darf 512 UTF-16-Einheiten enthalten, die Jobnotiz 1024. Sekunden, Jahr, JAN/MON, ?, L, W, #, 5/15, TZ=-Kopfzeilen, Kommentare, Befehle und komplette Jenkinsfiles gehören nicht zur unterstützten Eingabe.
Kalenderbedingungen statt fester Dauer
Monatstag und Wochentag müssen beide passen. Ein 31. Februar ist syntaktisch möglich, existiert aber nicht. Ein einfaches H im Monatstag nutzt 1–28; H(29-31) kann fehlende Tage auswählen. Tagesschritte sind über Monatsgrenzen nicht gleich lang.
H/1 bleibt ein Einzelwert
H/1 wählt wie H genau einen Wert; */1 steht für alle Werte. Größere Hash-Schritte müssen in ihren Bereich passen. Verschiedene Jobs können trotz Hash gleichzeitig liegen. Die Seite verbindet sich nicht mit Jenkins und startet oder registriert keine Jobs.

Fragen zu Jenkins Cron

Was bedeutet H/5?

Im Minutenfeld liegt der Start zwischen 0 und 4, danach folgen Fünferschritte innerhalb der Stunde. H/5 3,21 * * 1-5 nutzt dieses Muster werktags in den Stunden 3 und 21. Es bedeutet nicht einen einzigen Build innerhalb von fünf Minuten.

Wie plane ich einen Job in Jenkins?

Den Ausdruck bei Build periodically eintragen oder den triggers-Block in einer Declarative Pipeline verwenden. cron fordert den Build auch ohne Quellcodeänderung an. Jenkins muss die Konfiguration laden und über passende Ausführungskapazität verfügen.

Unterstützt Jenkins mehrere Zeitzonen?

Eine vollständige Core-Triggerkonfiguration kann eine TZ=-Zeile mit einer von Java unterstützten Zonen-ID enthalten. Ohne sie gilt die Controller-Zeitzone. Dieses Werkzeug nimmt nur einen Ausdruck an und rechnet nicht mit der Browser-Zeitzone.

Was unterscheidet Poll SCM von Build periodically?

Poll SCM prüft Änderungen am Quellcode und baut bei erkannten Änderungen. Regelmäßige Builds sind davon unabhängig. Für die Abfrage wählen Sie pollSCM; prüfen Sie anschließend in Jenkins, wie das konfigurierte Repository seine Änderungen meldet.

Wie läuft ein Job am letzten Tag jedes Monats?

Core unterstützt kein L für den letzten Monatstag. Eine tägliche Planung mit Datumskontrolle im Job oder ein geeignetes Timer-Plugin sind gesonderte Lösungen. @monthly wählt standardmäßig einen Tag von 1–28 und steht nicht für das Monatsende.

Ein unerwarteter Termin?

Den Zeitplan am Controller bestätigen

Jenkins Cron hilft beim Vergleich der Feldbedingungen. Übernehmen Sie den passenden Trigger-Block in Ihre Konfiguration und prüfen Sie die geplanten Zeiten beim Zieljob, bevor Sie eine genaue Uhrzeit voraussetzen.

Gültige Syntax garantiert weder den Start noch den Erfolg eines Builds.