因此,我們有我們發佈快照建立我們自己的私有Maven倉庫。正在尋找快照Maven倉庫清理腳本(UNIX)構建(磁盤空間)
我們有很多構建,因此磁盤空間開始成爲我們所有快照構建的問題。雖然它的樂趣和所有去手動做到這一點我不知道是否有人cron腳本,我可以運行做快照清理知道。
我知道sonatype這樣做是爲了自己的回購,但我找不到腳本。
因此,我們有我們發佈快照建立我們自己的私有Maven倉庫。正在尋找快照Maven倉庫清理腳本(UNIX)構建(磁盤空間)
我們有很多構建,因此磁盤空間開始成爲我們所有快照構建的問題。雖然它的樂趣和所有去手動做到這一點我不知道是否有人cron腳本,我可以運行做快照清理知道。
我知道sonatype這樣做是爲了自己的回購,但我找不到腳本。
進行分析,結果兩個多星期前更新的所有快照文件:
find . -type f -mtime +14 | grep SNAPSHOT
管,爲xargs rm
,你應該是好的。
一個警告:存儲庫管理器將創建一個metadata.xml
文件,其中列出所有已發佈的修訂。假設你僅僅使用scp
發佈和網絡服務器來檢索,我不認爲文件存在(這樣的事實,這個腳本不接觸它不應該是一個問題)。
下面的腳本能正常工作對我來說:
#!/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
done
BTW,已經使用的Nexus的免費版本,我不認爲我會永遠回到一個簡單的倉庫......其實,我我家的機器上運行它。 – Anon 2011-04-06 18:40:22
這裏的問題是,它會刪除那些超過2周齡快照的最後一個版本(或多麼漫長您選擇。)試圖找出一種方式來獲得它獨自離開的最後一個版本。 – Lincoln 2011-08-23 20:48:53