2017-06-28 9 views
2

多くのパイプラインの例と、ポストビルドセクションをパイプラインスクリプトに書き込む方法を見てきました。しかし、私が探していた答えは決して得られませんでした。 私はジョブA、B、C、Dの4つのジョブを持っています。ジョブAを最初に実行したい場合は、ジョブB、C、Dを並行して起動する必要があります。ジョブAが失敗した場合、それだけで仕事B.をトリガーする必要があり、以下のような何か:jenkinsパイプラインで 'post'セクションの 'parallel'オプションを使用するにはどうすればよいですか?

pipeline { 
    agent any 

stages { 
    stage('Build_1') { 
     steps { 
      sh ''' 
       Build Job A 
      ''' 
     } 
    } 

post { 
    failure { 
     sh ''' 
      Build Job B 
     ''' 
    } 
    success { 
     sh ''' 
      Build Job B,C,D in parallel 
     ''' 
    } 
} 
} 

私はポストセクションの「パラレル」オプションを使用してみましたが、それは私にエラーを与えました。ポスト「成功」セクションで、ジョブB、C、Dを並行して構築する方法はありますか?

ありがとうございます!

答えて

1

エラーメッセージがこの程度静か明らかである:使用

無効ステップ「平行」 - このコンテキストでは許可されていない - 平行工程のみの段階でのみ最上位のステップとして使用することができます ステップ

より制限的な宣言構文では、現時点では並列セクションの使用を許可していません。

scripted syntaxに切り替える必要がない場合は、次のオプションを選択します。第2ステージでジョブB、C、Dを並列に構築し、最初のステージのポストセクションで障害条件を移動する。その結果、ジョブB、C、DはAが成功した場合に実行されます。 Aが成功しなかった場合、ジョブBのみが実行されます。

pipeline { 
    agent any 

    stages { 
     stage('one') { 
      steps { 
       // run job A 
      } 
      post { 
       failure { 
        // run job B 
       } 
      } 
     } 
     stage('two') { 
      steps { 
       parallel(
        // run job B, C, D 
       ) 

      } 
     } 
    } 
} 
+0

はい、私はそれを試してみました、それが働いた(追加ステージとして並列に使用し、1個の故障ブロックを使用)..しかし、私が持っている問題は、次のとおりです。 –

+0

cad.sneha @問題は、あなたのコメントにありません。 – Philip

関連する問題