2017-10-31 5 views
0

私は非常にシンプルなJenkinsスクリプトパイプラインを持っています。 また、トリガーを使用してスケジュールでパイプラインを実行できるようにしています。このようなジェンキンスパイプラインは複数のパラメータが設定されたcronビルドが可能ですか?

何か: - 分で一回言うことができます

node{ 
    do_something() 
    triggers{ 
     cron(‘* * * * *’) 
    } 
} 

do_something()は、いくつかの入力のparams(およびenv変数)

私はパイプラインを複数回トリガする

をさまざまなことを行い、そして考慮に入れいくつかのパラメータ、および1時間ごとに他のパラメータを使用します。
(同じパイプラインを連続ビルドとフルビルドに再利用したいとします)

可能でしょうか?
これを行う方法が見つかりませんでしたが、複数のトリガーでトリガーできることさえ確実ではありません。

答えて

0

トリガーはジョブ全体をトリガーします。ジョブの一部をトリガーしたり、異なるパラメーターでトリガーしたりすることはありません。おそらくあなたがしたいことは、トリガージョブをセットアップすることです。あなたが必要とするあらゆるものを10分ごとにトリガーする単純なパイプラインジョブを持ってください。その仕事では、その時に何をする必要があるのか​​を決定し、必要なパラメータを使って別の仕事や仕事を誘発するための論理をグルービーで使用します。

+0

私は正しく理解していますか?あなたの提案は毎分(または他の下限の粒度)ジョブをトリガーし、cronが実行する必要があるすべてのロジックを内部的に実行することですか? –

+0

正確ではありません。 2(またはそれ以上)の仕事に感謝します。 cronで1つのジョブを使用して、他のジョブをトリガーします。もちろん、それを頻繁に実行する必要があるものがある場合、またはその複雑なものを実行している場合、それは少し醜いことがあり、そのようになることがあります。複数のcronエントリを追加することもできます。しかし、最終的には、仕事全体を再トリガーするだけなので、異なる時間に異なることをしたい場合は、別のジョブをトリガーする必要があります。 –

+0

"トリガージョブ"が複数あることに間違いはありません。あなたのケースでは、それはより理にかなっているように聞こえる。時間単位でcronトリガーを使用し、適切な「時間単位」のパラメーターで他のジョブを開始します。別のジョブで10分ごとに起動するcronを持つことができます。このcronは、別のパラメータで別のジョブをトリガーします。 –