Я слышал об этой ситуации раньше, когда разговаривал с кем-то, когда был в Сент-Луисе на «вечеринке по случаю дня рождения» их веб-сайта.Интересно, это был ты?
В любом случае, я бы использовал для этого Web Deployment Tool (MSDeploy) .MSDeploy больше похож на инструмент синхронизации, чем на что-либо еще.Концепция в том, что у вас есть источник и цель, вы хотите синхронизировать их.Если вы выполняете обычное принудительное развертывание, ваш сервер сборки будет синхронизировать выходные данные какой-либо сборки с каждым целевым сервером.Если вы хотите выполнить развертывание по запросу, просто перетащите нужные файлы в общую папку (вы называете этот главный сервер), а затем ваш клиентский компьютер может синхронизироваться с этим главным сервером.
Вот еще некоторыедетали, которые вы упомянули в своем вопросе:
Развертывание файлов на главном сервере Ваш сервер сборки может использовать MSDeploy для развертывания файлов на главном сервере
Дочерний сервер будетпроверьте, было ли у мастера обновление в данный момент или интервал времени. Прямая поддержка для этого отсутствует, но на самом деле здесь есть две вещи. Thing one : MSDeploy можно запустить из сценария (.cmd / PowerShell / MSBuild / etc), и он может определить, существует ли более новая версия.Я бы сделал это, опустив файл версии на верхний уровень вашей выходной папки.Затем, когда ваш скрипт запускается, просто прочитайте, какая версия находится на сервере.Если доступно более новое, запустите новое новое развертывание. Вещи два : MSDeploy поддерживает пошаговое развертывание, поэтому даже если вы начнете новое развертывание, оно просто не внесет никаких изменений.Это сложно, когда вы начинаете говорить о развертывании БД, хотя в вашем случае, вероятно, это неуместно, я бы выбрал вариант Thing one .
Если главный сервер содержитобновление, затем оно загрузит обновление и / или выполнит скрипт Это то, что msdeploy.exe собирается сделать для вас.
Другие связанные элементы
- Инкрементная публикация: если ваша сеть содержит 1000 файлов, но только 5 изменились, то будут развернуты только эти 5
- Настройка: MSDeploy поддерживает параметризацию, поэтому, когда клиент запускает синхронизацию, вы можете указать конкретные значениядля этого клиента.С их помощью вы можете изменять все типы файлов, включая файлы web.conig / .xml / text text / etc.Вы даже можете предоставить пользовательские настройки IIS
- Аутентификация: вы можете использовать обычную аутентификацию Windows, если вы используете IIS 7, вы можете создавать WMSvc пользователей и использовать их.
- Безопасность:WMSvc может быть использован для этого
Подходит ли это вам?