Использование пост-фиксации для экспорта в VisualSVN Server

Какой самый простой способ использовать хук post-commit с VisualSVN Server для экспорта из репозитория в каталог для подготовки / тестирования после того, как разработчик подтвердит свои изменения?

4 ответа

Выполните следующие действия в консоли MMC VisualSVN Server Manager:

  1. Выберите свой репозиторий

  2. Щелкните правой кнопкой мыши Свойства

  3. Выберите вкладку Hooks

  4. Выберите хук после фиксации

  5. Нажмите кнопку Изменить. Введите такую ​​строку в текстовое поле:

    "%VISUALSVN_SERVER%bin\svn.exe" export https://svn.yourserver.com:4433/svn/YourRepository/Websites/YourWebsite/ C:\inetpub\wwwroot\YourWebsite --quiet --non-interactive --force --username <youruser> --password <yourpassword>
    
  6. Нажмите Ok.

  1. Найдите каталог установки вашего сервера SVN (у меня есть C:\Program Files\VisualSVN Server\bin).

  2. Удалите исполняемый или командный файл, который делает там все, что вы хотите, и установите хук post-commit на что-то вроде этого:

    postcommit.exe "%1" "%2"

Если вы установите клиент командной строки svn, вы можете написать простой сценарий перехвата после фиксации:

path\to\svn.exe export file:///%1/trunk path\to\where\you\want\to\export\to

Я не уверен, создает ли диалог ловушки фиксации сервера VisualSVN .bat / .cmd файл или просто ожидает запуска команды. Если первое, строки выше будет достаточно. Если последнее, сначала создайте .bat файл с вышеуказанной строкой в ​​нем, затем введите в диалоге:

cmd.exe /C path\to\your\batfile

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

Посмотрел ссылку VisualSVN перед публикацией вопроса, но он не объясняет, как сделать что-либо с VisualSVNServerHooks.exe, кроме уведомления по электронной почте. Не могу не задаться вопросом, является ли это единственной функцией, которую поддерживает VisualSVNServerHooks.exe, так как я не смог найти документацию о других функциях на их сайте, в документах, группах Google, поиске Google и т. Д.

Спасибо за публикацию.

Другие вопросы по тегам