2016-11-23 3 views
-1

Ich habe derzeit die Stufen parallel laufen, aber wie wäre es mit den Tests innerhalb dieser Stufen. Können sie auch parallel betrieben werden? Kann dies wieder parallel gemacht werden?Laufen baut innerhalb jeder Stufe parallel in Jenkins Pipeline

//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) 
      } 
     } 
    } 
)} 

Antwort

1
  • Verschachtelte Blöcke können parallel Ihre verfügbaren Zieher zu überschwemmen, führen, da jeder Ausführung des ersten Blocks parallel mehrere Ausführungen des zweiten Blocks parallel aufruft, und so weiter. Im Allgemeinen sollten Sie sorgfältig über Ihre Parallelität und Ihre verfügbaren Executoren nachdenken, wenn Sie parallel arbeiten.
  • Die Parallel Test Executor plugin ist genial und kann immens hilfreich sein, sowohl für die Verteilung Ihrer Testausführung als auch für die Drosselung Ihrer Parallelität, da Sie definieren, wie viele "Buckets" Ihre Tests durchlaufen.

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

Verwandte Themen