Я использую VisualSVN Server на своем сервере, и у меня установлен TortoiseSVN как на моем компьютере разработчика, так и на моем сервере.
Я хочу иметь возможность отправлять обновления на веб-сайт через SVN, не проверяя вручную последнюю версию на htdocs.
Как сделать так, чтобы TortoiseSVN на моем сервере автоматически проверял последнюю версию сайта, когда я фиксирую новую версию?
Я бы порекомендовал посмотреть CruiseControl.net, а затем настроив его следующим образом:
Это имеет два важных эффекта:
Информация о настройке CruiseControl.net и Subversion:
Информация о настройке CruiseControl.net для публикации файлов:
Информация о настройке CruiseControl.net на срабатывание при совершении фиксации:
Используйте пост-фиксацию сценарий крючка.
например это post-commit.bat предполагает, что C: \ Inetpub \ Blah является рабочей копией и обновляет ее каждый раз, когда происходит фиксация:
pushd C:\Inetpub\Blah
"C:\Program Files\VisualSVN\bin\svn.exe" update
Если на вашем веб-сервере установлен TortoiseSVN, сначала выполните ручную проверку подходящего пути, затем создайте пакетный файл (или просто запланируйте расширенную задачу, если на 2008 год), содержащий следующее (при необходимости измените пути):
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"C:\Inetpub\wwwroot\mysite"
Затем установите нужный вам период (5 минут, 10 минут и т. Д.).
вам, вероятно, придется выполнить экспорт svn, потому что скрытые каталоги .snv / _svn содержат копии файлов, и если сайт не предварительно скомпилирован, это действительно испортит aspnet_compiler. svn export не создает скрытые каталоги. Если вы хотите создать сценарий для этого, вы должны использовать что-то вроде SlikSvn, который дает вам доступ из командной строки к вашему репозиторию Subversion. Надеюсь это поможет.