У меня есть сервер Hudson CI, который создает создание сборки знатока. Родительский проект с двумя подпроектами. Один из подпроектов знатока создает довольно большой .war (10 МБ) файл, который хранится для каждой сборки. Я хотел бы избавиться от этого .war файл для сохранения дискового пространства, но я хотел бы сохранить все остальное Гудзонские хранилища сборки в истории (результаты испытаний, графики и т.д.).
.war файл хранится под jobs/PROJECT_NAME/modules/PACKAGE_NAME$SUB_PROJECT_NAME/builds/2009-12-23_11-59-11/archive/PACKAGE_NAME/SUB_PROJECT_NAME/1.0/SUB_PROJECT_NAME-1.0.war
Я попытался использовать конфигурацию задания согласно этому ТАК вопрос а именно, Архив артефакты и Отбрасывание все кроме последнего успешного/стабильного артефакта для сохранения дискового пространства. Но это на самом деле делает следующее:
jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war
. Таким образом, это на самом деле увеличивает потребление дискового пространства немного.Моя сборка просто выполняется clean install
голы против родительского pom.xml.
Таким образом, как настроить Гудзонский сервер и/или Знатока для удаления артефактов сборки автоматически из-под jobs/PROJECT_NAME/modules
и оставьте их под jobs/PROJECT_NAME/builds
?
я использую постсобарочную задачу для копирования/удаления некоторых файлов.
.Я столкнулся с этим вопросом некоторое время назад, и просто пошел с cronjob:
10 * * * * find jobs/PROJECT_NAME/modules/ -name "*[tejw]ar" -type f -exec rm -f {} \;
Один раз в час, он будет удалять все tar, ear, war и jar файлы из этого каталога (и любых подкаталогов). Возможно, есть более Hudson-ориентированный способ сделать это...
.Я пришел сюда с похожим вопросом; моя проблема была решена с помощью флажка "Удалить старые сборки". Если вы не заботитесь о сохранении старых данных о сборках, как это делает ОП, этот флажок - более простое решение.