Как Хадсон может удалить артефакты, созданные моей сборкой? - PullRequest
0 голосов
/ 14 февраля 2009

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

Подробно вот что я хочу. Предположим, я начинаю с чистого рабочего пространства. После сборки 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 каждой сборке; есть пользовательский процесс проверки, поэтому я не могу использовать метод RCS SVN: /.

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

Ответы [ 4 ]

2 голосов
/ 16 июля 2009

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

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

1 голос
/ 18 февраля 2009

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

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

0 голосов
/ 31 марта 2009

Зачем вам нужен архив tgz при каждом запуске сборки?

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

Извлечение номера сборки в переменную system / build tool и 3 простых команды оболочки UNIX: * 2 для удаления каталогов в obj и log * один для удаления пакета по маске (необходимо ввести значение переменной)

0 голосов
/ 14 февраля 2009

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

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

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

...