因此,我们有自己的私有Maven存储库,我们可以将快照构建发布到该存储库。
我们有很多构建,所以磁盘空间开始成为我们所有快照构建的问题。虽然这很有趣,但我想知道是否有人知道我可以运行CRON脚本来执行快照清理。
我知道sonatype这样做是为了他们自己的repo,但我找不到脚本。
发布于 2011-04-07 02:38:19
要查找两周前更新的所有快照文件,请执行以下操作:
find . -type f -mtime +14 | grep SNAPSHOT用管道把它传给xargs rm,你就应该很棒了。
需要注意的是:存储库管理器将创建一个metadata.xml文件,其中列出了所有已发布的修订。假设您只是使用scp发布,并使用don服务器进行检索,我认为该文件不存在(因此此脚本不会触及它的事实应该不是问题)。
发布于 2012-07-14 16:39:51
下面的脚本很适合我:
#!/bin/sh
REPO=/var/www/maven2/snapshots
find $REPO -type d -name '*-SNAPSHOT' | while read project; do
if [ -f $project/maven-metadata.xml ]; then # Make sure this is a maven artifact directory
# Assume that snapshot numbering is designed to be sorted numerically
latestversion=$(ls $project | grep -v 'maven-metadata.*' | sort -n | grep '\.pom$' | tail -n1)
latestversion=$(basename $latestversion .pom)
# Delete everything, but the latest version and the maven metadata
find $project -type f | grep -v -e 'maven-metadata.*' -e "$latestversion.*" | xargs rm
fi
donehttps://stackoverflow.com/questions/5571134
复制相似问题