Поддержка нескольких рабочих областей для каждой сборки в Hudson - PullRequest
3 голосов
/ 26 августа 2010

Можно ли поддерживать несколько рабочих пространств для каждой сборки в Hudson? Предположим, если я хочу сохранить последние 5 сборок, возможно ли также иметь пять соответствующих папок рабочего пространства? В настоящее время, когда планируется новая сборка, она перезаписывает рабочее пространство.

Ответы [ 4 ]

0 голосов
/ 27 августа 2010

В зависимости от того, что вы хотите сделать, у вас есть несколько вариантов.

Если вам нужны последние пять рабочих пространств для другой работы, вы можете использовать плагин рабочей области клона SCM текст ссылки . Поскольку я никогда не использовал его, я не знаю, сможете ли вы позже получить доступ к архивному рабочему пространству (через пользовательский интерфейс).

Другой вариант, который стоит попробовать, - это использовать опцию архивирования и архивировать всю рабочую область (я думаю, что настройка фильтра для опции архива будет ** / *). Вы можете загрузить рабочую область в заархивированной версии из каждого запуска задания. Прелесть этого решения заключается в том, что артефакты будут очищены при удалении определенного запуска задания (вручную или через настройку задания для удаления старых сборок).

Конечно, вы также можете сделать это вручную и запустить копию как последний шаг вашей сборки. Вам понадобится пять каталогов (вы можете назвать их от 1 до 5). Сначала удалите самый старый и переименуйте остальные (4-> 5, 3-> 4, ..). Последним шагом будет копирование рабочей области в каталог, содержащий самую новую копию (в нашем примере 1). Это потребует от вас сохранения вашей собственной архивной работы. Поэтому я предпочитаю один из вышеупомянутых вариантов.

0 голосов
/ 26 августа 2010

Насколько я знаю, нет встроенного способа сделать это.

У вас есть несколько вариантов:

  • В качестве одного из этапов сборки вы можете заархивировать (или сжать) рабочее пространство и записать его как артефакт сборки.
  • Создание тега при каждой успешной сборке (например, с помощью Subversion Tagging Plugin )
0 голосов
/ 26 августа 2010

Хотя это и не идеально, вы можете использовать Плагин резервного копирования .

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

Опять же, не идеально, но если это обязательное требование и если он работает так, как вы используете Hudsonтогда это могло бы сработать.

0 голосов
/ 26 августа 2010

Прямо сейчас идея состоит в том, чтобы повторно использовать рабочее пространство.

Он основан на используемом SCM (рабочее пространство SVN или рабочее пространство Git или снимок ClearCase или динамическое представление или ...), и ни в одном из этих плагинов SCM я не вижу опции для создания нового рабочего пространстваили для сохранения (копирования) старого для каждого запуска задания.

Одно (плохое) решение заключается в следующем:

  • скопировать задание четыре раза, в результате чего получится 5 заданийбыть измененным для указания 5 различных рабочих пространств (на основе одной и той же конфигурации SCM, что означает, что эти 5 рабочих областей выбирают одинаковые версии в каждой из них),
  • и планируют их запуск по очереди.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...