2016-08-30 49 views
0

私は4つのJenkinsジョブを持っています:すべて実行しているときにこの順番で実行する必要があるABCおよびDです。
私は流れを見るためのシーケンスおよびパイプラインプラグインを設定するには、パラメータ化されたトリガ・プラグインを使用しますが、私はまだする能力を持つようにしたい:1は、特定のジョブから実行することができJenkinsは順番にジョブを実行し、また特定のジョブを実行します

1. Run only Job A 
2. Run only jobs B and D 
3. Run from job A (according to sequence) 
4. Run from job C (according to sequence) 

項目、
アイテム3と4はパイプラインビューから実行できます(良い方法はありますか?)
しかし、項目2はどうですか?

現在のところ私はこれらの4つのジョブを持っていますが、将来的にはより多くの組み合わせを意味する多くのジョブがあるかもしれないので、汎用ソリューションを探していて、

P.S.私が書いたアイテムのそれぞれを実行し、それぞれを実行する別の方法を持たない1つの場所を持つ方法がありますか?

答えて

0

あなたがMultijob Pluginを使用して、マルチジョブフェーズであなたの4つの他のジョブを追加マルチジョブ(例えばRun all)を作成することができます。それらを順番に実行するには、ジョブの実行タイプを段階的に実行するジョブを設定する必要があります。

これらのジョブを追加する必要があるシーケンスごとにMultiJobを作成することができます(Run B and D)。代わりにABCDジョブを有するので、私は、例えば、パイプラインの機能として、これらの4つのステップを定義します:私は個人的に違っを少しだろうパイプラインを使用して

+0

マルチジョブも、順番にLLジョブを実行するために有効にしても、ジョブCから開始し、たとえば私はできませんすべての可能な組み合わせに対してMultijobジョブを作成したくないので、より一般的なソリューションを探していました。ジョブD&Eを追加すると、多くのMutijobsジョブを作成する必要があります。 – Epligam

+0

それで、なぜあなたは複数の組み合わせを持ち、毎回一度にそれらを実行しないのですか? – SevenEleven

0

functions.groovy

def A() { 
    stage "A" 
    // doAjob 
} 

def B() { 
    stage "B" 
    // doBjob 
} 

... 

あなたの項目2は次のようになりますので、それから私は、あなたの "アイテム" 1234のそれぞれのジョブを作成します。

jobItem2.groovy

node() { 
    def functions = load 'functions.groovy' 
    // Now just call declared functions 
    functions.B() 
    functions.D() 
} 

など。

もちろん、特定のジョブとしてA(それ自体で起動できる)を宣言し、ジョブと機能を混在させることができます。こうしたミックスであなたのITEM3は次のようになります。

jobItem3.groovyを

node() { 
    // Call A as a job 
    build 'A' 

    // Call other steps as functions 
    def functions = load 'functions.groovy' 
    // Now just call declared functions 
    functions.B() 
    functions.C() 
    functions.D() 
} 
関連する問題