私はJenkinsをたくさん使い、クラスタ上でさまざまなジョブを実行します。毎回、その後、ある仕事が何らかのエラーで失敗し、ジョブAがアーティファクトXを使用していて、ジョブBがちょうどダウンロードしたか、または新しいバージョンをビルドしたということをデバッグすることができました。 。JenkinsでMavenの同時ビルドを処理する方法は?
ジョブAはjava.lang.NoClassDefFoundErrorまたはZIPファイルが破損しているか、Javaが使用しているZIP実装のsegfaultで失敗します。
したがって明らかな解決策は、ジョブのためのプライベートローカルメイヴァンリポジトリを使用することですが、それはかなりディスクとインターネットの高価なソリューションです。これは、それぞれの仕事がインターネット全体をダウンロードすることを意味します。
破損しているJARファイルのクラスファイルを頻繁に読み込むと、ダメージを制限するのに役立ちますが、そのすべてを行う必要はありません。
他の解決策はありますか?リポジトリのロックを改善しましたか?
「上流/下流プロジェクトのビルド中にロックを作成する」オプションを検討しましたか? – artbristol
はい、これを使用していますが、これはほぼすべての依存関係でほとんど発生する可能性があります。すべてのプラグインを使用すると、一度にmavenを実行できるジョブは1つしかありません: – toomasr