2012-08-01 16 views
7

私たちのMavenプロジェクトはすべてジェンキンス上に構築され、次にアーティファクトをMavenリポジトリにデプロイします。JenkinsはMavenビルドのキャッシュを無効にするかクリアします

しかし何らかの理由で、新しくビルドしたばかりのプロジェクトに依存しているプロジェクトをビルドするときに、何らかのキャッシュやアップデートの遅延があるようです。

アーティファクトAにバグがあり、BがAに依存しているとします。ローカルでバグを修正し、Bでの依存関係を更新し、Bを実行して、すべて正常です。私は明らかにチェックインする。今、私はJenkinsでAを構築し、その後Bで新しく構築したBを入手して実行します。バグはまだそこにある。数時間後にBをもう一度ビルドすると、新しいAを手に入れ、バグは消えてしまいます。

ジェンキンズがサーバー上で新しいAを使用するように強制する方法が必要です。 mvn -uまたはmvn --update-snapshotsを使用しても役に立ちません。それは更新を確認し、何も見つけません。

+0

スナップショットリポジトリに 'が設定されている場合、Maven settings.xmlを確認できますか?存在しない場合、SNAPSHOTのバージョンは1回だけダウンロードされます。リモートリポジトリからhttp:// mavenを取得します。 apache.org/ref/3.0.4/maven-settings/settings.html#class_snapshots –

答えて

5

Maven/JenkinsではすべてのスナップショットがJenkinsの同じインスタンスでローカルに構築されているので、このようなキャッシングの動作はできません。リモートリポジトリから取得していないため、「スナップショットの更新」オプションは必要ありません。しかし、Jenkinsのリポジトリ設定を調べることをお勧めします。 Jenkinsでは、どのMavenリポジトリを使用するかを変更することができます(デフォルトでは、マシン全体で共有されますが、ワークスペースごとまたは実行者ごとに変更することができます)。プロジェクト設定ではBuild -> AdvancedUse private Maven repository」、およびManage Jenkins -> Configure System -> Maven Project Configurationに、あなたはLocal Maven Repositoryを管理する方法を選択することができます。私はあなたが別のリポジトリにインストールのビルドを引き起こす任意の設定をお持ちの場合

を「ローカルエグゼキュータする」ためにそれを変更した疑うています

関連する問題