Назад | Перейти на главную страницу

Веб-развертывание VS2010 и обновление физического пути к веб-сайту

Мы пытаемся упростить процесс публикации, используя веб-развертывание через VS2010. Мы хотим иметь возможность быстро откатывать любые сломанные выпуски, поэтому мы создаем папки для каждого выпуска:

На данный момент я публикую сайт локально, копирую файлы в папку новой версии на нашем сервере, а затем вручную обновляю физический путь сайта до новой папки в IIS. Поскольку сайт указывает на папку определенного выпуска, я не могу использовать веб-развертывание на этом сайте, поскольку в результате существующие файлы будут перезаписаны.

Мое решение проблемы перезаписи заключалось в создании сайта развертывания, который указывает на корневую папку (C: \ www), и использовании веб-развертывания для создания нового выпуска. Следующим шагом является обновление физического пути к сайту, но я не могу найти правильный способ сделать это. Мне известно о выполнении команды в событии после сборки, но я немного заблудился в документации по веб-развертыванию, поскольку параметры команды предназначены для синхронизации, дампа и удаления.

Когда публикация будет завершена, мне просто нужно, чтобы сайт IIS указывал на новый физический путь. Это возможно? Я открыт для альтернативных вариантов (например, опубликовать локально и затем выполнить командный файл).

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