По моему мнению, MSDeploy создан для удовлетворения всех ваших потребностей с гораздо большим контролем.MSDeploy - это продукт команды IIS, и он гораздо более многофункциональнИнструмент командной строки, чтобы получить последнюю версию вашего исходного кода в некотором временном каталоге и собрать ее с помощью инструмента командной строки MSBuild.Затем вы можете создать пакет развертывания или пакет публикации контента, который можно развернуть в определенной среде.В настоящее время я работаю над проектом, который может создать пакет развертывания, независимый от среды, что означает, что пакет может быть развернут в любой среде stage / test / live.Пример создания пакета развертывания: ...
msbuild C: \ Projects \ NimBuildDeployTestApp \ NimBuildDeployWebApp / NimBuildDeployWebApp.csproj / t: package / p: Configuration = Release / p: PackageLocation = C: \ Temp \ DeployPage\ NimTestWebApp.zip / p: EnablePackageProcessLoggingAndAssert = true
Используйте инструмент командной строки MSDeploy для развертывания пакета, как показано ниже
msdeploy -verb: sync -source: package = packagelocation-dest: CONFIGURABLE_ACCORDING_TO_YOUR_NEEDS
Пользователь Шаг 2 для построения решения в режиме Release с использованием MSBUILD и настройки параметра dest в msdeploy.
Если всена вашем промежуточном сервере нормально работает, запустите файл deployToLive.batch, который развернет определенный PublishContent / пакет на вашем живом сервере.Выполните 7 сценариев msdeploy в одном и том же пакетном файле или используйте DFS (это гораздо более сложное решение)
MSDeploy определенно подходит.Одна вещь, которую вы можете рассмотреть, это иметь готовый пакет развертывания, который можно развернуть в любой вашей среде.Под этим я подразумеваю, что ваш файл web.config не будет одинаковым для всех сред, и поэтому создайте пакет развертывания, содержащий файл web.confif для всех сред.Обратитесь к моему решению здесь
Надеюсь, что это поможет и даст вам уверенность в продвижении вперед для автоматизации процесса развертывания