У меня есть сервер Hudson CI, который создает сборку maven. Родительский проект с двумя подпроектами. Один из подпроектов maven создает довольно большой файл .war(10 МБ), который сохраняется для каждой сборки. Я бы хотел избавиться от этого файла .war, чтобы сохранить дисковое пространство, но я хотел бы сохранить все остальное в магазинах Hudson в истории (результаты тестов, графики и т.д.).
Файл .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
Я попытался использовать конфигурацию заданий в соответствии с этим вопросом SO, а именно архивировать артефакты и отменить все, кроме последнего успешного/стабильного артефакта, чтобы сохранить дисковое пространство. Но это действительно делает следующее:
- Дополнительная копия сохраняется для двух последних строчек в
jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war
. Таким образом, это фактически немного увеличивает объем дискового пространства. - Веб-страница для этих заданий hudson содержит ссылки на .war файлы в двух последних сборках.
Моя сборка просто выполняет clean install
цели против родительского pom.xml.
Итак, как настроить сервер Hudson и/или Maven для автоматического удаления артефактов сборки из jobs/PROJECT_NAME/modules
и оставить их под jobs/PROJECT_NAME/builds
?