2009-12-30 3 views
11

У меня есть сервер Hudson CI, который создает сборку maven. Родительский проект с двумя подпроектами. Один из подпроектов maven создает довольно большой файл .war (10 МБ), который сохраняется для каждой сборки. Я бы хотел избавиться от этого файла .war, чтобы сохранить дисковое пространство, но я хотел бы сохранить все остальное в магазинах Hudson в истории (результаты тестов, графики и т. Д.).Как удалить ненужные артефакты сборки в 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

Я попытался с помощью конфигурации рабочих мест в соответствии с this SO question именно Архив артефактов и Отбросить все, кроме последнего успешного/стабильный артефакт для экономии дискового пространства. Но это на самом деле имеет следующее:

  1. Дополнительная копия хранится для двух последних строек под jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war. Таким образом, это фактически немного увеличивает потребление дискового пространства.
  2. Веб-страница для этих заданий hudson содержит ссылки на файлы .war в двух последних сборках.

Моя сборка просто выполняет clean install цели против родительского pom.xml.

Итак, как настроить сервер Hudson и/или Maven для автоматического удаления артефактов из-под jobs/PROJECT_NAME/modules и оставить их под jobs/PROJECT_NAME/builds?

ответ

6

Я использую post build task, чтобы сделать некоторые файлы для копирования/удаления.

5

Я столкнулся с этим вопросом некоторое время назад, и просто пошел с cronjob:

10 * * * * find jobs/PROJECT_NAME/modules/ -name "*[tejw]ar" -type f -exec rm -f {} \; 

Один раз в час, это приведет к удалению всех смол, уха, войны и баночка файлы из этого каталога (и любой подкаталоги). Возможно, был бы более хадсон-ориентированный способ сделать это ...

1

Я пришел сюда с аналогичным вопросом; моя проблема была решена с помощью флажка «Удалить старые сборки». Если вы не заботитесь о сохранении старых данных сборки, подобных OP, этот флажок является более простым решением.

+0

Люди, не забудьте выполнить Иов, после сохранения. – Lucas

Смежные вопросы