提问者:小点点

翰德删除共享目录


我正在使用Hudson和Ant Ivy和许多并行开始的工作。我的问题是我使用 Ivy 的缓存文件夹,该文件夹在每个作业的 ant 任务中删除和更新。

当然,几个构建失败是因为它们无法删除 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:无法解析依赖项:解析失败-有关详细信息,请参阅输出


共1个答案

匿名用户

如果你真的需要清除你的缓存每次安德斯的回答是要走的路。

我宁愿为所有外部库(或不会有太大变化的库)保留一个缓存,以及一个一直被清除的基于项目的缓存。

对于很少改变的缓存,锁策略将是有用的,以处理多线程访问。

锁定策略应该有帮助。如果只使用ivy命令来处理缓存,这将确保只有一个进程“在其中活动”。

您通常可以在ivysettings.xml中启用它。

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

或者在缓存级别。