Max*_*ing 42 continuous-integration maven-2
在CI构建服务器上,本地Maven存储库重复填充文件系统(几天后).在这种情况下,其他人采取了什么策略来修剪本地存储库? - 最大
Ric*_*ler 27
Maven依赖插件有一个purge-local-repository目标,允许您从本地存储库中删除给定项目的依赖项,如果这样做,则每个项目每天运行一次,快照不会累积.
或者,你可以采取更加焦土的方法.由于问题通常是带时间戳的快照工件,您可以使用maven-antrun-plugin删除与资源集合模式匹配的所有文件.
例如(注意这可能需要一些调整,因为我已经从内存中完成了它):
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<tasks>
<delete>
<fileset dir="${settings.localRepository}">
<include name="**/*.jar"/>
<exclude name="**/*.pom"/>
<exclude name="**/*.war"/>
<exclude name="**/*.ear"/>
<exclude name="**/*.md5"/>
<exclude name="**/*.sha"/>
<!--any other extensions?...-->
<!--match the timestamp pattern-->
<containsregexp expression="[0-9]{8}.[0-9]{6}-[0-9]+"/>
</fileset>
</delete>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
Dom*_*ell 19
如果您正在使用hudson,则可以将预定作业设置为每天删除整个存储库一次或类似的事情.我有一个叫hudson-maven-repo-clean有这个配置的工作:
rm -rf ~hudson/.m2/repository0 0 * * *文件系统有多大?我们每晚分配 10GB 来构建和删除 30 天以上的快照。这似乎有效
您是否每隔 X 小时或在代码更改时进行构建?切换到代码更改将减少工件数量,而不会降低覆盖范围。
您是否在本地安装所有快照?您不需要在所有情况下都这样做。在大多数情况下,只有那些主动开发依赖项的快照需要在本地安装。
您是否在本地安装 EAR/WAR 文件?您可能也不需要它们。
您保留了多少个工作空间?我们使用 hudson 并仅保留最后 5 个版本。
| 归档时间: |
|
| 查看次数: |
34069 次 |
| 最近记录: |