我们将使用Ivy和Ant,我们将让Jenkins做我们的构建.我原本以为Jenkins <ivy:cleancache/>
在运行构建之前会做一个好主意.(这将是强制性"清洁"目标的一部分).
但是,我现在看到的<ivy:cleancache>
不仅仅是清理内容<ivy:cachepath>
,而是真正删除了整个$HOME/.ivy/cache
目录.
我担心的是,如果Jenkins <ivy:cleancache>
在开始之前对所有构建进行了处理,它将干扰Jenkins可能正在执行的其他构建.
做<ivy:cleancache>
一个好主意,特别是如果一个用户可能同时进行多个构建?
事实上,当您<ivy:cachepath pathid="compile.path"/>
在多个项目中进行操作时会发生什么?这也会影响詹金斯这样的事吗?如果多个构建同时构建,Jenkins会变得困惑compile.cachepath
吗?
在我看来,每次构建运行常春藤cleancache任务都是过度的,并且取消了使用常春藤,智能下载第三方依赖项的主要好处之一.
如上所述,在下面的相关Maven问题中,所有缓存都会变脏,应该定期清除:
几点建议:
我的第一个建议是创建一个定期的Jenkins作业,在你的构建中调用以下clean-all目标:
<target name="clean-all" depends="clean">
<ivy:cleancache/>
</target>
Run Code Online (Sandbox Code Playgroud)
这可以确保Jenkins决定何时清除缓存,并且可以将其安排在正常构建时间之外(例如,每月1日凌晨2点)
我的第二个建议增加了项目构建之间的隔离.使用caches指令将每个项目配置为拥有自己的私有缓存.在你常春藤设置文件中.
归档时间: |
|
查看次数: |
3612 次 |
最近记录: |