web-dev-qa-db-ja.com

Jenkinsでの仕事のスケジュールは?

私はJenkinsに新しい仕事を追加しました。それを定期的にスケジュールしたいです。

Configure job から、[Build Periodically]チェックボックスをオンにして、 Schedule テキストフィールドに次の式を追加しました。

15 13 * * *

しかし、予定した時間には実行されません。

ジョブをスケジュールするのは正しい手順ですか?

Enter image description here

ジョブは4:20 AMに実行されるはずですが、実行されていません。

225
Sangram Anand

スケジュール期間を15 13 * * *に設定することで、Jenkinsに、毎年毎月毎月13日の15分にビルドをスケジュールするように指示します。

Jenkinsは cron式 を使用しました。さまざまなフィールドは次のとおりです。

  1. MINUTES 1時間の中の分(0-59)
  2. 1日のうちの時間数(0〜23)
  3. DAYMONTH月の日(1〜31)
  4. MONTH年間の月(1〜12)
  5. DAYWEEK 0と7が日曜日の曜日(0〜7)

5分ごとにビルドをスケジュールしたい場合は、これが役目を果たします。*/5 * * * *

毎日8時00分にビルドをスケジュールしたい場合は、これが役目を果たします:0 8 * * *

過去のいくつかのバージョン(2014)では、Jenkinsに新しいパラメータHが追加されました( Jenkinsコードドキュメントから抽出 )。

定期的にスケジュールされたタスクがシステムに均等な負荷をかけることを可能にするために、シンボルH( "hash"のため)は可能な限り使われるべきです。

たとえば、毎日数十の仕事に0 0 * * *を使用すると、真夜中に大きなスパイクが発生します。対照的に、H H * * *を使用しても1日に1回各ジョブが実行されますが、すべて同時に実行されるわけではないため、限られたリソースを使用することをお勧めします。

次の点にも注意してください。

Hシンボルはある範囲にわたるランダムな値と考えることができますが、実際にはランダムな関数ではなく、ジョブ名のハッシュであるため、値はどのプロジェクトでも安定しています。

'H'の使用例

399
Cédric Julien

Jenkinsでは、改行で区切って複数回設定できます。

毎日午前7時に、日曜日の午後4時に構築する必要がある場合は、以下がうまく機能します。

H 7 * * *

H 16 * * 0
21
Pawan Gaitonde

*/5 * * * *は5分ごとを意味します

5 * * * *は毎時5分を意味します

21
Nikul Padhya

形式は次のとおりです。

分(0〜59)、時間(0〜23)、日(1〜31)、月(1〜12)、週の日(0〜6)

Word Hash を表す文字Hは、値の代わりに挿入できます。プロジェクト名のハッシュコードに基づいてパラメータを計算します。

これは、ビルドマシンで同時に複数のプロジェクトをビルドしている場合、毎日午前0時に言っても、それらすべてが同時にビルドの実行を開始するわけではないためです。各プロジェクトは、ハッシュコードに応じて異なる時間に実行を開始します。

値を数値の間になるように指定することもできます。つまり、H(0,30)は、可能なハッシュが0-30のプロジェクトのハッシュコードを返します。

例:

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

  2. 日曜日から木曜日の昼休み12:00と真夜中00:00の平日の日次ビルド、1日2回: 00 0,12 * * 0-4

  3. 午後4時から午後遅くに毎日ビルドを開始します。 - 4:59 p.m.またはプロジェクトによって異なります16:00 -16:59ハッシュ: H 16 * * 1-5

  4. 毎週土曜日の午前0時にビルドを開始するか、午前0時にビルドを開始します。 59 23 * * 6

  5. 毎月2時から午前2時30分までの間の毎月: H(0,30)02 01 * *

5分ごとにクーロン・ジョブをスケジュールするには、以下のようにクーロン設定を定義する必要があります。

*/5 * * * *
6
fduff

0 8 * * *を使ってみてください。うまくいくはずです

2
user1815823

ジェンキンスのジョブをスケジュールするための手順:

  1. ジョブ要件の "Configure"をクリックします
  2. トリガーの構築」までスクロールします-サブタイトル
  3. 定期的にビルドするのチェックボックスをクリックします
  4. [スケジュール]フィールドにタイムスケジュールを追加します(例:@midnight

enter image description here

:スケジュールフィールドの下で、前回および次回の日時の実行を確認できます。

1
Gavriel Cohen

JenkinsはスケジューリングにCronフォーマットを使用しています。あなたはより多くの詳細についてはこのリンクを参照することができます://en.wikipedia.org/wiki/Cron。もう1つ、Jenkinsは私たちに非常に便利なプレビューを提供しています。スクリーンショットを見てください。 enter image description here

これが助けになれば幸いです。ありがとう

0
Thuong Vo