Как Хадсон может удалить артефакты, созданные моей сборкой?

Специальные инструменты сборки нашей организации записывают много промежуточных данных, и мне бы хотелось, чтобы Хадсон мог определять, какие файлы были созданы как часть сборки, и архивировать их. Я не уверен, что он уже делает это, но если это так, нет видимого пользователю объяснения этого, и, конечно же, удаление сборки не удаляет ее вывод.

Подробно вот что хочу. Предположим, я начинаю с пустого рабочего места. После сборки 1 у меня это:

ws/
  src/...
  obj/
    1/...
  log/
    1/...
  pkg/
    pkg-1.tgz

Теперь я запускаю сборку 2:

ws/
  src/...
  obj/
    1/...
    2/...
  log/
    1/..
    2/..
  pkg/
    pkg-1.tgz
    pkg-2.tgz

Исходный код извлекается ws/src в каждой сборке; существует специальный процесс оформления заказа, поэтому я не могу использовать метод svn RCS: /.

Когда я удаляю сборку, я хочу удалить все, что было получено из этой сборки. Я могу это сделать?


person Chris R    schedule 14.02.2009    source источник


Ответы (3)


Способ Хадсона - очистить все временные файлы в начале сборки, а затем использовать средство архивирования артефактов Хадсона для сохранения результатов каждой сборки - укажите pkg / ** / *. Tgz для сообщения «Архивировать артефакты» build, а затем все файлы tgz будут скопированы в область хранения для конкретного задания.

Рабочее пространство - это просто рабочее пространство, оно не предназначено для длительного хранения.

person Michael Donohue    schedule 16.07.2009

Если бы я был на вашем месте, я бы решил проблему по-другому. Я бы написал задачу или сценарий, который специально удаляет все, что вы не хотите оставлять, и запускал бы эту задачу или сценарий в конце каждого задания.

Хадсон предполагает, что вы очищаете временные файлы самостоятельно. Если этого не произойдет, я не верю, что Хадсон может вам помочь.

person johnbr    schedule 17.02.2009

Трудно ответить, не понимая вашего «процесса пользовательской проверки», но обычно все артефакты сборки проекта создаются в одном каталоге, кроме src, например «построить» или «цель».

Таким образом, «чистая» цель проекта может просто удалить этот каталог, и вы можете указать Хадсону включать эту цель для каждой сборки.

Похоже, ваши артефакты сборки содержатся в нескольких каталогах относительно src: 'obj', 'log' и 'pkg'. Можете ли вы ввести «чистую» цель, которая будет явно удалять каждый из этих каталогов?

person jcrossley3    schedule 14.02.2009
comment
Я могу, но как я могу заставить Хадсона запустить это, когда я удалю задание? - person Chris R; 14.02.2009
comment
Я неправильно понял твой вопрос. Я думал, что вы можете просто добавить чистоту к своим целям сборки и, по сути, сохранить только одну версию (самую последнюю) артефактов. Возможно, вам пригодится расширенный параметр «Использовать настраиваемое рабочее пространство»? - person jcrossley3; 15.02.2009