Использование пост-фиксации для экспорта в VisualSVN Server
Какой самый простой способ использовать хук post-commit с VisualSVN Server для экспорта из репозитория в каталог для подготовки / тестирования после того, как разработчик подтвердит свои изменения?
4 ответа
Выполните следующие действия в консоли MMC VisualSVN Server Manager:
Выберите свой репозиторий
Щелкните правой кнопкой мыши Свойства
Выберите вкладку Hooks
Выберите хук после фиксации
Нажмите кнопку Изменить. Введите такую строку в текстовое поле:
"%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>
Нажмите Ok.
Найдите каталог установки вашего сервера SVN (у меня есть
C:\Program Files\VisualSVN Server\bin
).Удалите исполняемый или командный файл, который делает там все, что вы хотите, и установите хук 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 и т. Д.
Спасибо за публикацию.