1

Ant+ivy と並行して開始される多くのジョブで Hudson を使用しています。私の問題は、すべてのジョブの ant タスクで削除および更新される Ivy のキャッシュ フォルダーを使用していることです。

もちろん、いくつかのビルドは ivy フォルダーを削除できないために失敗し、他のビルドは同時に削除されているライブラリを見つけることができないために失敗します。

ビルドに失敗しました

C:\dev.hudson\jobs\api\workspace\build\build.xml:100: ディレクトリを削除できません C:\dev\tools\build\ant\extensions\ivy\cache\myapp

ビルドに失敗しました

C:\dev.hudson\jobs\api\workspace\build\build.xml:104: 依存関係を解決できません: 解決に失敗しました - 詳細については出力を参照してください

4

1 に答える 1

0

毎回キャッシュを削除する必要がある場合は、アンダースの回答が最適です。

すべての外部ライブラリ (またはそれほど変更されないライブラリ) のキャッシュと、常にパージされるプロジェクトベースのキャッシュを保持することをお勧めします。

めったに変更されないキャッシュの場合、マルチスレッド アクセスを処理するためにロック戦略が役立ちます。

ここでは、ロック戦略が役立ちます。ivy コマンドのみを使用してキャッシュを処理する場合、これにより、1 つのプロセスのみが「その中でアクティブ」になることが保証されます。

ivysettings.xml一般的に有効にすることができます。

<lock-strategies><artifact-lock/></lock-strategies>

またはキャッシュレベルで

于 2012-05-03T17:27:06.393 に答える