376 Stimmen

Wie kann ich Aufträge in Jenkins planen?

Ich habe einen neuen Auftrag in Jenkins hinzugefügt, den ich regelmäßig einplanen möchte.

En Auftrag konfigurieren Ich aktiviere das Kontrollkästchen "Regelmäßig erstellen" und in der Zeitplan Textfeld den Ausdruck hinzugefügt:

15 13 * * *

Er wird jedoch nicht zur geplanten Zeit ausgeführt.

Ist es das richtige Verfahren, einen Auftrag zu planen?

Enter image description here

Der Auftrag sollte um 4:20 Uhr morgens ausgeführt werden, aber er wird nicht ausgeführt.

14voto

nick Punkte 316

Syntax für die Jenkins-Auftragsplanung Schauen wir uns zunächst die Jenkins-Konfiguration für die Auftragsplanung an. Sie sieht der cron-Syntax von Linux sehr ähnlich, aber Sie müssen nicht mit der Kommandozeile von Linux vertraut sein, um sie zu verstehen.

Ein Terminplanungseintrag besteht aus fünf durch Leerzeichen getrennten Feldern. Sie können einen Auftrag für mehrere Zeitpunkte planen, indem Sie mehr als einen Eintrag hinzufügen.

Bildschirmfoto Jenkins Schedules Jedes Feld kann einen genauen Wert enthalten oder eine Reihe von speziellen Ausdrücken verwenden:

Das bekannte Sternchen * kennzeichnet alle gültigen Werte. Ein Auftrag, der jeden Tag ausgeführt wird, hat also ein * im dritten Feld.

Ein Bindestrich trennt Wertebereiche. Bei einem Auftrag, der stündlich von 9:00 bis 17:00 Uhr läuft, würde im zweiten Feld beispielsweise 9-17 stehen.

Intervalle werden mit einem Schrägstrich / angegeben. Bei einem Auftrag, der alle 15 Minuten ausgeführt wird, steht im ersten Feld H/15. Beachten Sie, dass das H im ersten Feld eine besondere Bedeutung hat. Wenn Sie möchten, dass ein Auftrag alle 15 Minuten ausgeführt wird, können Sie ihn als 0/15 konfigurieren, was bedeutet, dass er zu Beginn jeder Stunde ausgeführt wird. Wenn Sie jedoch zu viele Jobs auf diese Weise konfigurieren, können Sie Ihren Jenkins-Controller überlasten. Letztendlich weist das H Jenkins an, eine Minute basierend auf einem Hash des Auftragsnamens auszuwählen.

Schließlich können Sie mehrere Werte mit einem Komma angeben. Ein Auftrag, der montags, mittwochs und freitags ausgeführt wird, würde also 1,3,5 im fünften Feld enthalten.

Jenkins bietet in seinem Hilfebereich einige Beispiele für die Planung.

Alle fünfzehn Minuten (vielleicht um :07, :22, :37, :52):

H/15 * * * *

Alle zehn Minuten in der ersten Hälfte jeder Stunde (dreimal, vielleicht um :04, :14, :24):

H(0-29)/10 * * * *

Einmal alle zwei Stunden um 45 Minuten nach der vollen Stunde, beginnend um 9:45 Uhr und endet um 15:45 Uhr an jedem Wochentag:

45 9-16/2 * * 1-5

Einmal in jeder zweistündigen Zeitspanne zwischen 8 und 16 Uhr an jedem Wochentag (vielleicht um 9:38 Uhr, 11:38 Uhr, 13:38 Uhr, 15:38 Uhr):

H H(8-15)/2 * * 1-5

Einmal täglich am 1. und 15. eines jeden Monats außer Dezember:

H H 1,15 1-11 *

Jenkins verfügt außerdem über eine Reihe von Aliasen, die die Verwendung gängiger Intervalle erleichtern.

Screenshot der Tabelle Jenkins Aliases

9voto

fduff Punkte 3451

Um einen Cron-Job alle 5 Minuten zu planen, müssen Sie die Cron-Einstellungen wie folgt definieren:

*/5 * * * *

9voto

Versuchen Sie dies.

20 4 * * *

Prüfen Sie den unten stehenden Screenshot

enter image description here

Verweisende URL - https://www.lenar.io/jenkins-schedule-build-periodically/

4voto

user1815823 Punkte 587

Versuchen Sie es mit 0 8 * * *. Es sollte funktionieren

4voto

Thuong Vo Punkte 101

Jenkins verwendet für die Planung das Cron-Format. Weitere Einzelheiten finden Sie unter diesem Link: https://en.wikipedia.org/wiki/Cron. Und noch etwas: Jenkins bietet uns eine sehr nützliche Vorschau. Bitte sehen Sie sich den Screenshot an. enter image description here

Ich hoffe, das hilft. Danke

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X