2016-07-11 7 views
0

ジェンキンスの新機能で、あるパイプラインから別のパイプラインへ出力を渡すという簡単なタスクがあります。ジェンキンのパイプラインから別のパイプラインに出力を渡す方法

最初のパイプラインにはecho HelloWorldというスクリプトがありますが、この出力を別のパイプラインに渡して同じことを表示するにはどうすればいいですか?

私はパラメータ化されたトリガと他のいくつかの回答を見てきましたが、誰かが手順を段階的にレイアウトすることができたら嬉しいです。

答えて

0

- 私は何をやっていることは、私のプロセス内のすべてのパイプラインのジョブを構築するオーケストレーターパイプラインの仕事を持っている、彼らのために待機し

Orchestratorのジョブ

def result = build job: 'jobA' 
def buildNumber = result.getNumber() 
echo "jobA build number : ${buildNumber}" 
:その後、完了するまでには、ビルド番号を取得します各ジョブで

JOBA」私はその後、アーカイブされているファイル(プロパティは、例えばファイル)に出力を書き込むように手配言うように:の後に続いて

JOBA

writeFile encoding: 'utf-8', file: 'results.properties', text: 'a=123\r\nb=foo' 

archiveArtifacts 'results.properties' 

jobAのようにビルド番号を使用し、アーティファクトのコピープラグインを使用してファイルをオーケストレータージョブに戻して処理します。

Orchestratorのジョブ

step([$class  : 'CopyArtifact', 
      filter  : 'results.properties', 
      flatten : true, 
      projectName: 'jobA', 
      selector : [$class  : 'SpecificBuildSelector', 
         buildNumber: buildNumber.toString()]]) 

あなたは見てこれらのプラグインが便利でしょう:あなたが仕事をチェーンの代わりに、オーケストレーターを使用している場合

- と言いますjobAビルドjobBビルドjobCなど - 同様の方法を使用することができます。 CopyArtifactsは、上流のジョブからコピーするか、上流のジョブのビルド番号と名前でパラメータを渡すことができます。連鎖ジョブから変更した後に、オーケストレータージョブを使用することを選択しました。これは、並列ジョブを構築する必要があるためです。

関連する問題