Автоматическое развертывание в нескольких производственных средах

Я хочу обновить веб-приложение ASP .NET (включая изменения файла web.config и сценарии базы данных) для нескольких производственных сред - в идеале - одним нажатием кнопки. У меня нет прямого сетевого подключения ни к одному из них. Я думаю, это означает, что серверы приложений должны будут «вытащить» информацию, необходимую для обновления приложения, и запустить сценарий для обновления приложения, которое находится на сервере.

По сути, мне нужен способ «опубликовать» обновление, и серверы видят это обновление, автоматически загружают и запускают его.

Я подумал о возможной настройке SFTP-сервера для публикации обновлений и разработке специального инструмента, который устанавливается в производственной среде, который ежедневно смотрит на SFTP-сервер и загружает файлы приложений, если они доступны. Это, по крайней мере, доставит необходимые файлы на серверы, и я мог бы использовать xcopy / robocopy и Migrator.NET для развертывания обновлений. Все еще не уверен в изменениях конфигурационного файла, но это, по крайней мере, меня кое-что дает.

Есть ли хорошее решение для этого сценария? Есть ли какие-нибудь инструменты, которые сделают это за вас?


person Brandon Montgomery    schedule 05.11.2009    source источник


Ответы (2)


Я думаю, что стратегия вытягивания, а не выталкивания несколько попирает общепринятое мнение ... но похоже, что CruiseControl.NET легко может это сделать. Помните, что файл web.config также является XML-документом, поэтому его легко изменить в сценарии CruiseControl. Вы можете скопировать файлы или использовать экспорт svn.

person Bryan    schedule 06.11.2009
comment
Я изучал CruiseControl.NET последние пару дней. Это действительно здорово. Но мы не хотим, чтобы наш исходный код распространялся на клиентские машины из соображений безопасности. Может быть, мы могли бы поместить наши скомпилированные файлы в систему контроля версий? - person Brandon Montgomery; 06.11.2009
comment
Вы, конечно, могли бы это сделать ... или просто попросите CruiseControl скопировать нужные файлы из выходного каталога машины сборки. - person Bryan; 06.11.2009

http://varunkumargoel.blogspot.com/2010/03/how-to-make-automatic-deployment-for.html

Пожалуйста, просмотрите вышеупомянутый блог, где я разместил подробную информацию об автоматическом развертывании приложения .NET с помощью SVN.

person Varun    schedule 11.03.2010
comment
Хорошая ссылка, но вопрос в том, как ее развернуть на удаленных сайтах? - person Brandon Montgomery; 11.03.2010