Автоматическое развертывание в нескольких производственных средах
-
18-09-2019 - |
Вопрос
Я хочу обновить ASP .СЕТЕВОЕ веб-приложение (включая изменения файла web.config и скрипты базы данных) для нескольких производственных сред - в идеале одним нажатием кнопки.У меня нет прямого сетевого подключения ни к одному из них.Я думаю, это означает, что серверы приложений должны будут "извлечь" информацию, необходимую для обновления приложения, и запустить скрипт для обновления приложения, которое находится на сервере.
По сути, мне нужен способ "опубликовать" обновление, и серверы увидят это обновление и автоматически загрузят и запустят его.
Я думал о возможной настройке SFTP-сервера для публикации обновлений и разработке пользовательского инструмента, установленного в производственных средах, который каждый день просматривает SFTP-сервер и загружает файлы приложений, если они доступны.Это, по крайней мере, позволило бы получить необходимые файлы на серверы, и я мог бы использовать xcopy / robocopy и Migrator.NET для развертывания обновлений.Все еще не уверен насчет изменений в файле конфигурации, но это, по крайней мере, хоть что-то мне дает.
Есть ли какое-нибудь хорошее решение для этого сценария?Есть ли какие-нибудь инструменты, которые делают это за вас?
Решение
Я думаю, что стратегия "тянуть, а не толкать" несколько противоречит общепринятому мнению...но это похоже на что-то CruiseControl.NET мог бы легко сделать.Помните, что файл web.config также является XML-документом, поэтому его легко изменить в скрипте CruiseControl.Вы могли бы копировать файлы xcopy или использовать svn-экспорт.
Другие советы
http://varunkumargoel.blogspot.com/2010/03/how-to-make-automatic-deployment-for.html
Пожалуйста, просмотрите вышеупомянутый блог, где я разместил подробную информацию об автоматическом развертывании .NET-приложения с помощью SVN.