私はジェンキンスが初めてです。私は1時間ごとにスケジュールする必要がある仕事があります。
私は使っている
* */1 * * *
しかし、それは効果的に機能していません。
他のソリューションを提供してください。
@hourly
または0 * * * *
私はジェンキンスが初めてです。私は1時間ごとにスケジュールする必要がある仕事があります。
私は使っている
* */1 * * *
しかし、それは効果的に機能していません。
他のソリューションを提供してください。
@hourly
または0 * * * *
回答:
ジェンキンスはここで説明されているようにcron表現を使用します
1時間ごとにスケジュールするには、
0 * * * *
その後、ジョブは1時間ごとに実行されます(07:00、08:00、09:00など)
更新
元の構成の説明として、構文
* */1 * * *
分ごとにジョブを実行します。
更新2
コメントで要求されているように、3時間ごとにスケジュールするための構文はこちら
0 */3 * * *
構文*/n
は、ジョブが1 n
時間ごとにスケジュールされることを意味します
ジェンキンスはこの方法を提案します:
H * * * *
H
は、ハードコーディングされた値の代わりに使用することを好むことを明確に示唆しています
私はこれが古いスレッドであることを知っていますが、明らかに人々がまだここに上陸しているので答えています。
一番上の答えはもう使用しないでください。
Jenkinsは値を導入しましたH
。
このフィールドは、cronの構文に従います(わずかな違いはあります)。具体的には、各行はTABまたは空白で区切られた5つのフィールドで構成されています。
DOM MONTH DOW分
- 時間内の分(0〜59)
- HOUR 1日の時間(0〜23)
- DOM月の日(1〜31)
- MONTH月(1〜12)
- DOW曜日(0〜7)。0と7は日曜日です。
1つのフィールドに複数の値を指定するには、次の演算子を使用できます。優先順位の順に、
*
すべての有効な値を指定しますM-N
値の範囲を指定しますM-N/X
または*/X
、指定された範囲または有効な範囲全体を通してXの間隔でステップA,B,...,Z
複数の値を列挙します定期的にスケジュールされたタスクがシステムに均等な負荷を生成できるようにするには、可能な限りシンボルH(「ハッシュ」)を使用する必要があります。たとえば、1ダースの毎日のジョブに0 0 * * *を使用すると、深夜に大きなスパイクが発生します。対照的に、HH * * *を使用すると、1日1回各ジョブが実行されますが、すべてが同時に実行されるわけではないため、限られたリソースを使用する方が適切です。
H記号は範囲で使用できます。たとえば、HH(0-7)* * *は、午前12:00(深夜)から午前7:59までの時間を意味します。範囲の有無にかかわらず、Hでステップ間隔を使用することもできます。
Hシンボルは、ある範囲のランダムな値と考えることができますが、実際には、ランダムな関数ではなく、ジョブ名のハッシュであるため、特定のプロジェクトで値が安定します。
月の日フィールドでは、月の長さが可変であるため、* / 3やH / 3などの短いサイクルがほとんどの月の終わり近くで一貫して機能しないことに注意してください。たとえば、* / 3は長い月の1日目、4日目、…31日目に実行され、翌月の翌日に再び実行されます。ハッシュは常に1〜28の範囲で選択されるため、H / 3は月末に3〜6日間の実行間にギャップを生じさせます。(より長いサイクルも一貫性のない長さを持ちますが、効果は比較的目立たないかもしれません。)
したがって、1時間に1回構築するための正しい答えは
H * * * *
3時間ごと
H H/3 * * *
との違いは*
、次のH
ように説明することもできます。
*
EVERYに変換しますH
変換ANY例えば
* * * * *
つまり、毎分、毎時、毎月、毎月、どの曜日でも構いません。
H * * * *
次のように変換されます:1時間に1回ビルド(x)、正確な時間は関係ありません(x:00からx:59までの任意の分)
H H * * *
次のように変換されます:毎日1 回ビルド、何時でもかまいません(00:00から23:59の間の任意の時間、分)
H
ハードコードされた時間値の代わりに使用することを好む理由も以前と同様に説明されています
100個のジョブが設定されている場合
0 0 * * *
全員が同時に開始しようとするため、たとえば多数のポーリングが発生し、深夜にトラフィックをプルします。
代わりにそれらをすべて持っている場合
H H * * *
それらはすべて1日に1回作成されますが、すべてが同時に作成されるわけではなく、1日に配布されます。
時間範囲を使用すると、スケジュールをより適切に計画できます。
H H(18-23) * * *
すべてのジョブは、毎日18:00〜23:59の間にいつでも作成されます。
たとえば、午後19:00から午前5:00の間にビルドするなど、深夜にジョブをスケジュールすることも可能です。
しかし、 cronのため、通常、これはあなたがshiftetのタイムゾーンを使用してトリックを使用することができますことはできません。
たとえば、GMT + 1のタイムゾーンMEZに住んでいて、午後19:00から午前5:00の間にすべてのジョブを作成したいと考えています。それを行うために、完全なタイムゾーンを5時間シフトします
TZ=Etc/GMT+6
私は14:00(-> +5 = 19:00 pm)から23:59(-> +5 = 4:59 am)までの時間にシフト範囲を使用します
H H(14-23) * * *
* */1 * * *
1時間ごとに実行される
すべてのジョブがsvnに同時にポーリングしないように、H関数を使用してみてください
H H/1 * * *
それは魔法を行う必要があります。ジョブの完了に時間がかかる場合、またはビルドトリガー機能を実行している場合。時間を増やすか、jenkins plugginを使用して、前のビルドが完了するまでビルドを停止します。
https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin
* * * * *
。毎分実行する=> と同じです。特定の範囲内で実行するには、* 1-2 * * *
<-のように使用します。これは、毎分1:00 amから1:59 amまで実行されます
* * 1-2 * *
ですか?
* 1-2 * * *
。最初の位置はfor Minute of our
、2番目はfor 、hour of day
3番目day of month
は4番目month of year
、5番目ですday of week
(特別な場合は6番目も許可されますyear
)。したがって、あなたの行* * 1-2 * *
は「毎分、毎時、毎月1日と2日、および曜日を
*
翻訳するevery
がにH
翻訳するということany
です。そうしながら、* * * * *
手段毎分、H * * * *
毎時一回手段ビルドを私は正確な分(どこかの範囲で定義されていない場合は0から59の間とすることができる)と気にしないH H * * *
1日に1回手段ビルドを私は何時間気にしません。