ASP. NET Web Application (MVC) Deployment Automation and Subversion

Мы пытаемся автоматизировать процесс сборки на наших промежуточных серверах, но столкнулись с трудностью, хотя и довольно незначительной. Мы используем встроенную в VS2010 функцию публикации, выполняем фиксацию в Subversion, а затем стороннее приложение (Beanstalk) автоматически извлекает обновленные файлы и отправляет их по FTP на промежуточный сервер.

Проблема, с которой мы столкнулись, заключается в том, что мы только Похоже, есть следующие варианты выбора:

  • (Меньшее из 2 зол) Если мы выберем «Заменить совпадающие файлы локальными копиями», это отлично сработает, за одним исключением: эта опция не удаляет файлы, которые были удалены из проекта. Это приведет к появлению нежелательной почты и / или проблем с безопасностью для незащищенных файлов с давних времен.
  • Если мы выберем использование «Удалить все существующие файлы перед публикацией», это удалит всю структуру папок, включая скрытые папки .SVN которые Subversion использует для отслеживания обновлений и т. д. Это кажется лучшим решением с точки зрения точности, но оно действительно разрушает локальную среду SVN, которая является посредником для этой автоматизации.

Мой вопрос: есть ли легкая работа для этого или совершенно другой вариант развертывания, который мы упускаем из виду (мы не хотим публиковать прямо на сервере из VS, поскольку мы хотим отслеживать, кто / что / когда происходит развертывание)? Единственное, что я Мы столкнулись с тем, что перед публикацией необходимо вручную удалить содержимое файла, не трогая структуру папок, а затем выполнить развертывание с помощью функции «Заменить совпадающие файлы локальными копиями». К сожалению, это приводит к совершенно новому значению слова «автоматизация».

Есть идеи, как лучше всего этого добиться?

7
задан Keith 30 December 2010 в 17:41
поделиться