2016-07-20 13 views
0

私はプロジェクトのリポジトリとしてNexusを使用しています。私はCIオーケストレーターとしてJenkinsを使用しています。Sonatype Nexus:同期RESTコール

私のJenkinsの仕事の終わりに、Mavenメタデータを再構築してすべてのコンポーネントの最新バージョンに関する情報を更新できるように、Nexus REST APIを呼び出します。 REST呼び出しが実行されるとすぐに戻りますが、更新タスクは実際にNexusでキューに入れられ、最終的に実行されます。

複数のジョブが並行して実行されているので、Mavenメタデータがまだ更新されていない間にコンポーネントの1つがNexusから依存関係を取り出そうとしていると、ある種の競合状態になることがあります - したがって、新しいバージョンが既に存在していてもメタデータが更新される直前であっても、古いバージョンはNexusから引き出されます。

これを防ぐ良い方法は、この呼び出しを同期させることです。つまり、Mavenメタデータが実際に再構築されるまでビルドをブロックすることです。

もちろん、コンポーネントの最新バージョンをNexusにポーリングして更新するまで、これをプログラムで行うことができます。しかし、Nexus APIを使用してこれを行う方法があるのだろうかと思います。思考?

答えて

0

多くの研究の結果、私はこれに関する文書を見つけることができず、ここでは返答も得られませんでした。私はMavenメタデータが更新されるまでプログラムでチェックすることで問題を解決しました。

関連する問題