定期的にスケジュールしたいJenkinsに新しいジョブを追加しました。
[ ジョブの構成]で、[定期的にビルドする]チェックボックスをオンにし、[ スケジュール]テキストフィールドに式を追加しました。
15 13 * * *
ただし、スケジュールされた時間には実行されません。
ジョブをスケジュールするのは正しい手順ですか?
ジョブは午前4時20分に実行されるはずですが、実行されていません。
定期的にスケジュールしたいJenkinsに新しいジョブを追加しました。
[ ジョブの構成]で、[定期的にビルドする]チェックボックスをオンにし、[ スケジュール]テキストフィールドに式を追加しました。
15 13 * * *
ただし、スケジュールされた時間には実行されません。
ジョブをスケジュールするのは正しい手順ですか?
ジョブは午前4時20分に実行されるはずですが、実行されていません。
回答:
スケジュール期間を設定することにより、15 13 * * *
Jenkinsに、毎年、毎月、毎日13日の15分にビルドをスケジュールするように指示します。
Jenkinsはcron式を使用しました。さまざまなフィールドは次のとおりです。
5分ごとにビルドをスケジュールする場合は、これで十分です。 */5 * * * *
毎日8時にビルドをスケジュールする場合は、これで十分です。 0 8 * * *
過去のいくつかのバージョン(2014)では、Jenkinsに新しいパラメーターがありますH
(Jenkinsコードドキュメントから抽出):
定期的にスケジュールされたタスクがシステムに均等な負荷をかけることができるようにするには、
H
可能な限りシンボル(「ハッシュ」)を使用する必要があります。たとえば、
0 0 * * *
毎日12個のジョブを使用すると、真夜中に大きなスパイクが発生します。対照的に、を使用H H * * *
すると、各ジョブが1日に1回実行されますが、すべてが同時に実行されるわけではなく、限られたリソースを使用するほうが適切です。
次の点にも注意してください。
H
記号は範囲にわたるランダムな値と考えることができますが、それは実際には値が任意のプロジェクトのために安定しているように、ジョブ名のハッシュではなく、ランダム関数です。
* */6 * * *
動作しますか?
Jenkinsでは、改行で区切って複数回設定できます。
毎日午前7時にビルドする必要がある場合、および毎週日曜日の午後4時にビルドする必要がある場合は、以下が適切に機能します。
H 7 * * *
H 16 * * 0
H(0-0)
単に使用0
する利点を使用H
できます。すべてのジョブが正確に同時に実行されるのではなく、「次に利用可能なタイムスロット」を取得しようとします
形式は次のとおりです。
MINUTE(0〜59)、HOUR(0〜23)、DAY(1〜31)、MONTH(1〜12)、曜日(0〜6)
値の代わりに、ハッシュという単語を表す文字Hを挿入できます。プロジェクト名のハッシュコードに基づいてパラメーターを計算します。
これは、ビルドマシンで複数のプロジェクトを同時にビルドしている場合、たとえば毎日真夜中だとすると、それらすべてが同時にビルド実行を開始するわけではありません。各プロジェクトは、ハッシュコードに応じて異なる分から実行を開始します。
数値の間に値を指定することもできます。つまり、H(0,30)は、可能なハッシュが0〜30であるプロジェクトのハッシュコードを返します。
例:
月曜から金曜の午前08: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
真夜中にビルドを開始:@midnightまたは毎週土曜日の真夜中にビルドを開始:59 23 * * 6
毎月1日、午前2時から02時30分の間:H(0,30)02 01 * *
Jenkinsでジョブをスケジュールする手順:
@midnight
注:スケジュールフィールドの下には、最後と次の日時実行が表示されます。
Jenkinsは、ビルドをスケジュールするために事前定義されたエイリアスもサポートしています。
@hourly
、@daily
、@weekly
、@monthly
、@midnight
@hourly
->時間の初めに毎時間ビルドします-> 0 * * * *
@daily, @midnight
->毎日午前0時にビルドします-> 0 0 * * *
@weekly
->毎週日曜日の午前0時にビルドします-> 0 0 * * 0
@monthly
->毎月1日の午前0時にビルドします-> 0 0 1 * *
5分ごとにcronジョブをスケジュールするには、次のようにcron設定を定義する必要があります。
*/5 * * * *
0 8 * * *を使用してみてください。うまくいくはず
JenkinsはスケジューリングにCron形式を使用します。詳細については、このリンクを参照してくださいhttps://en.wikipedia.org/wiki/Cron。もう1つ、Jenkinsは非常に便利なプレビューを提供します。スクリーンショットをご覧ください。
これがお役に立てば幸いです。ありがとう
これを試して。
20 4 * * *
以下のスクリーンショットを確認してください
参照URL- https://www.lenar.io/jenkins-schedule-build-periodically/