2013-06-18 7 views
-3

Я пытаюсь создать сценарий NAnt, который будет запущен после создания папки в папке Tag SVN. Затем скрипт получит содержимое рабочей копии во вновь созданную папку в тегах и запустит сборку. Помогите мне, если кто-нибудь можетАвтоматический сборный поток для SVN

ответ

0

Слишком поздно делать сборку после создания тега. Что делать, если у вас проблема с сборкой? Вместо этого вы должны строить на ветке или туловище, а затем, если эта сборка хороша, отметьте эту ревизию ветки или туловища.

Посмотрите на Jenkins. Это самая популярная непрерывная интеграция инструмент. Вы можете настроить Jenkins, поэтому каждый раз, когда вы совершаете изменения в своем коде, Jenkins будет создавать сборку с этим изменением. Дженкинс может даже запустить автоматические тесты для вас. Если есть проблема, Дженкинс может отправить письмо разработчикам проекта и разработчику, внесшим изменения.

Вы можете хранить встроенные артефакты, которые нужно запустить прямо в Jenkins, и Jenkins можно настроить для автоматического развертывания, если вы этого желаете.

То, что вы не хотите, это крюк Subversion, который сделает сборку для вас. В противном случае пользователь, выполняющий фиксацию, блокируется до завершения сборки. В итоге вы получите более масштабные изменения, так как разработчики будут неохотно делать коммиты.

+0

Прямо сейчас, я могу запускать свой скрипт NAnt при каждой фиксации с помощью post-commit.bat, который скопировал бы содержимое рабочей копии в папку Tags/Revision #. То, что я делаю, это: Когда я создаю папку в тегах, я должен запустить сценарий NAnt, который будет получать содержимое последней рабочей копии во вновь созданной папке. В принципе, я хочу отделить часть фиксации с тегом. Но я не могу это сделать, поскольку использую post-commit.bat, который будет выполняться при каждой фиксации ... Есть ли другой способ достижения моей цели? – user2495326

+0

Как я уже говорил, вы не хотите запускать свой скрипт NAnt с каждой фиксацией, используя крюк после фиксации. Пользователь, выполняющий коммит, должен дождаться завершения сценария после фиксации, прежде чем он сможет продолжить. Вы также не хотите, чтобы ваш post-commit hook фиксировал изменение в репо (которое будет делать тег). Это приведет к тому, что ваш крюк после фиксации начнет снова и снова. Посмотри на Дженкинса. Это простая настройка и удобство в использовании. –

+0

Эй, Дэвид. Я понимаю, что ты пытаешься сказать. Но я пытаюсь сделать это, я буду использовать скрипт NAnt, используя post-commit hook для отправки уведомлений по электронной почте и SEPARATE NAnt-скрипт БЕЗ использования post-commit hook для создания папки в тегах и переноса содержимого рабочей скопируйте во вновь созданную папку. Поэтому я буду использовать два сценария. Я хотел знать, есть ли способ запустить мой второй скрипт NAnt, когда я создаю папку в тегах без использования post-commit hook? – user2495326

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