Я установил VisualSVN на сервере, который использую для «постановки» написанных мной веб-приложений - в настоящее время это классические приложения ASP / VBScript. На моей рабочей станции разработки, на которой я пишу код, установлен TortoiseSVN, и я могу подключиться к созданной мной папке репозитория - я использую следующую структуру:
development (repository)
-- my_application
-- branches
-- tags
-- trunk
-- another_application
-- branches
-- tags
-- trunk
Я также настроил IIS и указал на другую папку на жестком диске сервера для хранения обслуживаемых файлов. Есть ли «лучшая практика» для отправки коммитов в папку, связанную с IIS, поэтому после фиксации / итерации я могу дать своим пользователям URL-адрес для просмотра демонстрационного сайта (а также для его тестирования)? Мне стыдно сказать, что я никогда раньше по-настоящему не использовал контроль версий, поэтому я немного не понимаю, как лучше всего его использовать.
Я вижу, вы сделали свою домашнюю работу, макет вашего репозитория настроен по книге. Я не уверен, что VisualSVN делает с точки зрения извлечения, но если вы хотите внести изменения на веб-сайт, это легко сделать либо в интерактивном режиме, либо по расписанию.
cd в webhome
svn co [svn-project-uri]
Прежде всего, рекомендую хранить разные приложения в разных репозиториях.
Каждая фиксация увеличивает номер ревизии, поэтому вы можете получить следующую ситуацию: первое приложение не имеет обновлений в течение длительного времени, но его номер ревизии постоянно увеличивается из-за обновлений второго приложения.
Во-первых, я согласен с другими комментариями, ваш формат репозитория - это книга с ветками, тегами и стволом. Я также рекомендовал бы разделить репозиторий для каждого проекта, как уже упоминалось. Я участвовал в проектах с одним общим репозиторием и с разделенными репозиториями, и разделенные репозитории работают лучше. Кроме того, если когда-либо была причина ограничить доступ к одному из репозиториев (т. Е. Вы позволяли кому-то другому доступ к репозиторию, и вы хотели, чтобы они видели только один из двух проектов), их проще разделить.
В любом случае я бы предложил использовать MSBuild для вашего развертывания. Вы можете создать файл проекта MSBuild, который извлекается из SVN, создает файл вашего решения, а затем развертывает его на веб-сайте. Вы должны добавить такую строку в файл проекта MSBuild, чтобы выполнить проверку:
<
Exec command = "svn checkout %22https://server:8443/svn/Project/Trunk/%22 %22c:\Project%22"/>
Вы также можете делать такие вещи, как создание проекта для проверки определенной версии / тега после выпуска версии. При выборе этого маршрута для развертывания есть довольно много гибкости в том, что можно сделать.
Дополнительные сведения о MSBuild можно найти в Справочном руководстве Microsoft MSBuild здесь.