View on GitHub

jenkins-jobs-template

Jenkins jobs template

parallel syntax について

並列でパイプライン処理が出来る場合、全体的なジョブの実行時間が短縮できる可能性が高いです。
ジョブの内容によりますが、並列数が多いほどマシンスペックが必要です。
 

ex.

サンプル

次の 2 つのパイプラインはビルドしている内容は同じですが、parallel 有り無しで実行タイミングが異なります。

parallel 無し

master-linux-node-hello-world-stage.Jenkinsfile:

node('master') {
  stage('echo-master') {
    sh label: '', script: 'echo "Hello, World! from master."'
  }
}
node('linux-slave') {
  stage('echo-linux-slave') {
    sh label: '', script: 'echo "Hello, World! from linux-slave."'
  }
}

master-linux-node-hello-world.Jenkinsfile : BlueOcean

parallel 無しなので直列に echo-masterecho-linux-slave の順に実行されていることが分かります。

parallel 有り

master-linux-node-stage-parallel.Jenkinsfile.Jenkinsfile:

stage('echo-parallel') {
  parallel(
    "echo-master": {
      node('master') {
        sh label: '', script: 'echo "Hello, World! from master."'
      }
    }
    ,"echo-linux-slave": {
      node('linux-slave') {
        sh label: '', script: 'echo "Hello, World! from linux-slave."'
      }
    }
  )
}

master-linux-node-stage-parallel.Jenkinsfile.Jenkinsfile : BlueOcean

parallel 有りは echo-master echo-linux-slave が並列(同じ列)で実行されていることが分かります。
どちらが先に開始、終了するか分かりませんので、前後関係がある物は並列で実行するとエラーになります。

 
 
 
 
 
 
 
 


当ドキュメントに記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
なお、本文および図表中では、「™」、「®」は明記しておりません。

免責事項

当ドキュメント上の掲載内容については細心の注意を払っていますが、その情報に関する信頼性、正確性、完全性について保証するものではありません。
掲載された内容の誤り、および掲載された情報に基づいて行われたことによって生じた直接的、また間接的トラブル、損失、損害については、筆者は一切の責任を負いません。
また当ドキュメント、およびドキュメントに含まれる情報、コンテンツは、通知なしに随時変更されます。