У меня есть несколько служб WCF, которые развернуты на нескольких виртуальных машинах. Виртуальные машины являются частью единственной внутренней сети и не входят в домен. Время от времени мне нужно обновлять двоичные файлы до последней версии. Для этого у меня есть скрипт .bat. Сейчас я запускаю обновление вручную на каждой виртуальной машине и хочу автоматизировать доставку нажатием кнопки в TeamCity.
Я пытался запускать сценарии из powershell (удаленные задания из TeamCity), но проблемы безопасности были немного болезненными для настройки, поэтому я отбросил это и вернулся к ручным обновлениям. Позже я думал о добавлении нового метода в базовый контракт, что-то вроде
void Update(string fromBatFile);
Служба WCF вызовет файл в отдельном процессе (например, через cmd.exe) и завершит работу своего хоста. Файл bat выполнит обновление и снова запустит хост WCF.
Это хороший подход? Есть ли лучшие решения для непрерывного предоставления услуг WCF?