77

毎日特定の時間にのみビルドできるようにJenkinsビルドをスケジュールするにはどうすればよいですか?

たとえば、午後4時に開始します

0 16 1-7 * *

「0分、午後4時、月曜日から日曜日、毎月」と理解していますが、毎分ビルドされます:(

アドバイスをいただければ幸いです。ありがとう!

4

10 に答える 10

107

他の回答とコメントを読んでください。この質問に回答したときに知らなかった、より多くの情報が記載されており、ニュアンスが説明されています(ハッシュ関数?)。

Jenkins 自身のスケジュール タスクのヘルプ (「?」ボタン) によると、5 つのフィールドが指定されています。

このフィールドは、cron の構文に従います (わずかな違いがあります)。具体的には、各行は、TAB または空白で区切られた 5 つのフィールドで構成されます: MINUTE HOUR DOM MONTH DOW

午後 4 時 42 分 (現地時間のおおよその時間) に起動するジョブを取得しようとしましたが、次のように動作しましたが、約 30 秒余分にかかりました。

42 16 * * *

複数回必要な場合は、次のようにするとうまくいくと思います。

0 16,18,20,22 * * *

毎日午後 4 時、6 時、8 時、10 時。

于 2011-08-09T23:50:11.380 に答える
84

ジョブ構成では、さまざまなビルド トリガーを定義できます。定期的なビルドでは、日付または曜日、およびビルドを実行する時間を定義して、ビルドをスケジュールできます。

形式は次のとおりです。

分 (0 ~ 59)、時 (0 ~ 23)、日 (1 ~ 31)、月 (1 ~ 12)、曜日 (0 ~ 6)

Hash という単語を表す文字 H を任意の値の代わりに挿入できます。これにより、プロジェクト名のハッシュ コードに基づいてパラメーターが計算されます。これは、ビルド マシンで複数のプロジェクトを同時にビルドする場合に使用します。時間、毎日真夜中としましょう。すべてが同時にビルドの実行を開始するわけではありません。各プロジェクトは、ハッシュコードに応じて異なる分に実行を開始します。数値の間に値を指定することもできます。つまり、H(0,30) はプロジェクトのハッシュ コードを返し、可能なハッシュは 0 ~ 30 です。

例:

毎日月曜日から金曜日の午前 8 時 30 分にビルドを開始します。

  • 30 08 * * 1-5

平日の毎日のビルドは、1 日 2 回、ランチタイムの 12:00 と真夜中の 00:00、日曜日から木曜日まで:

  • 00 0,12 * * 0-4

プロジェクトのハッシュに応じて、毎日午後 4:00 ~ 4:59 または 16:00 ~ 16:59 の午後遅くにビルドを開始します。

  • H 16 * * 1-5

午前 0 時にビルドを開始します。

  • @夜中

または、毎週土曜日の深夜にビルドを開始します。

  • 59 23 * * 6

毎月 1 日午前 2:00 ~ 午前 2:30 :

  • H(0-30) 02 01 * *

CRON 式の詳細

于 2015-06-10T09:43:49.547 に答える
12

この例は毎日、午前 9 時頃と午後 5 時頃に 1 回ずつです。(コメントごとに編集)。

H 9,17 * * * 
于 2014-04-08T19:35:55.603 に答える
3
H H(5-21)/2 * * 1-5

MON-FRI 間の 2 時間ごとのビルド

于 2016-12-02T17:00:30.453 に答える
2

これはcron 式のようです。この例は、毎月 1 日から 7 日までの 16:00 にのみビルドされることに注意してください。何らかのエラーがあるか、Jenkins が非標準の CRON 式を使用している可能性があります。

于 2011-08-09T17:33:57.357 に答える
1

Jenkins では、フォーマットは次のとおりです。

分(0-59) 時(0-23) 日(1-7) 月(1-12) 曜日

于 2016-06-09T09:41:34.443 に答える
1

Jenkins はCron Expressionsを使用します。

と入力するだけで、時間単位のビルドを簡単にスケジュールできます@hourly

于 2016-02-12T16:25:39.320 に答える