2016-11-23 4 views
-1

私は現在ステージを並行して実行していますが、これらのステージ内のテストはどうですか?それらを並行して実行することもできますか?もう一度並列でこれを行うことはできますか?第1並列ブロックの各実行はように第2の並列ブロックの複数の実行を呼び出し、そしてようゲンキーパイプラインで各ステージ内でビルドを並行して実行

//List for all the tests 
def TeamA_Tests = ["AAA","AAA1"] 
def TeamB_Tests = ["BBB","BBB1"] 
def TeamC_Tests = ["CCC","CCC1"] 
def TeamD_Tests = ["DDD","DDD1","DDD3"] 

//Pipeline 
node('master') { 
    parallel("stream 1(A)" : { 
    stage('A') { // for display purposes 
     for (item in TeamA_Tests) { 
      buildJob(item) 
      } 
     } 
    }, 
    "stream 2(B)" : { 
    stage('B') { 
     for (item in TeamB_Tests) { 
      buildJob(item) 
      } 
     } 
    }, 
    "stream 3 (C)" : { 
    stage('C') { 
     for (item in TeamC_Tests) { 
      buildJob(item) 
      } 
     } 
    }, 
    "stream 4 (D)" : { 
    stage('D') { 
     for (item in TeamD_Tests) { 
      buildJob(item) 
      } 
     } 
    } 
)} 

答えて

1
  • ネスト並列ブロックは、利用可能なエグゼキュータをスワンピングをもたらすことができます。一般に、並列性を使用する場合は、並列性と使用可能なエグゼキュータについて慎重に考えてください。
  • Parallel Test Executor pluginはすばらしく、テスト実行の分散と並列処理の両方のために非常に役立ちます。なぜなら、テストで分割されるバケットの数を定義するからです。

出典:https://github.com/jenkinsci/pipeline-examples/blob/master/docs/BEST_PRACTICES.md

関連する問題