2016-10-18 5 views
0

パイプラインに変換しようとしている古いビルドフロープラグインを現在使用しているビルドがあります。Jenkinsのパイプラインジョブで、どのように多くのノードでソースコードを共有できますか?

このビルドは、大規模並列化することができます(作業の多くのユニットは、多くの異なるノード上で実行することができます)が、我々は唯一の好ましいSCMオプションからパイプラインスクリプトで、先頭にたら、ソースコードを抽出したいです。私は、パイプラインスクリプトで使用されるすべての「下流」ノードと、ソース抽出(明らかにマスター上にある)をどのように共有できるかを理解することができません。

ビルドフローでは、共有ファイルシステム上のよく知られている場所に抽出され、フローによって呼び出されたすべてのダウンストリームジョブがその場所を渡された(または引き出される)可能性があります。それはいつも嬉しかった&パイプラインがこの問題を解決したと思っていましたが、それがあると示唆するものは何も見つかりません。 私は何が欠けていますか?

+0

確認できます。http://stackoverflow.com/questions/36843215/how-can-i-use-the-jenkins-copy-artifacts-plugin-from-within-the-pipelines-jenki/36843927#36843927 –

+0

@DanielHernándezビルドされた成果物をプッシュするつもりはない、私は特にソースコードを参照している。 – carej

答えて

1

これは、ソースのバンドルを作成して、「stash」と「unstash」を使用してパイプラインスクリプトのより深いステップで利用できるようにすることを公式に推奨していると思います。

が、これは行末を支援するために何もしないことに注意してくださいhttps://www.cloudbees.com/blog/parallelism-and-distributed-builds-jenkins

を参照してください。異なる行末のOSにまたがるビルドがある場合は、OS固有のstashを作成するか、各下流のステップで安全なラベルにチェックアウトするだけです。

+0

"stash"を使用することは、私たちのユースケースでは劇的に非効率的です。私は、同じソースコードに対して並列化できる何百もの作業単位について話しています。ソースツリーの数百のスライス(各作業単位ごとに1つのスライス)を隠すと、共有された共通の場所に一度抽出するよりもずっと時間がかかります。 – carej

関連する問題