2017-05-16 21 views
4

ビルドを実行するのに次のコードを使用し、最後にビルドが成功したときにビルド後のアクションを実行しようとしています。それでも、私はtryブロックが有効なセクション定義ではないと言って、MultipleCompilationErrorsExceptionを取得します。助けてください、私は多くのブロックを再構成しようとしましたが、問題を解決することができないようです。Jenkinsパイプラインスクリプトのtry-catchブロック

#!/usr/bin/env groovy 

pipeline{ 

agent any 
    try { 
     stages{ 
      stage("Parallel 1") { 
       steps { 
        parallel (
         'firstTask' : { 
          build("DSL-Controll-Demo-Fibonacci-1") 
         }, 
         'secondTask' : { 
          build("DSL-Controll-Demo-Fibonacci-2") 
         } 
        ) 
       } 
      } 
      stage("Feature") { 
       steps { 
         build("DSL-Controll-Demo-Fibonacci-5") 
         build("DSL-Controll-Demo-Fibonacci-6") 
       } 
      } 
      stage("Parallel 2") { 
       steps{ 
        parallel (
         "thirdTask" : { 
          build("DSL-Controll-Demo-Fibonacci-3") 
         }, 
         "forthTask" : { 
          build("DSL-Controll-Demo-Fibonacci-4") 
         } 
        ) 
       } 
      } 
     } 
    } 

    catch(all) { 
     currentBuild.result = 'FAILURE' 
    } 

    if(currentBuild.result != 'FAILURE') { 
     stages{ 
      stage("Post Build") { 
       steps { 
        build("DSL-Controll-Demo-Fibonacci-7") 
       } 
      } 
     } 
    } 
} 

答えて

7

あなたは、あなたのパイプラインを指定する宣言型のスタイルを使用して、あなたが(スクリプトパイプラインのためである)のtry/catchを使用していますが、ポストセクションはいけません。参照:https://jenkins.io/doc/book/pipeline/syntax/#post-conditions

関連する問題