Что такое автоматический провайдер в веб-развертывании (msdeploy.exe)

Может ли кто-нибудь объяснить (лучше, чем документация technet / msdn), что именно делает поставщик автозапчастей, как он работает и когда его использовать.

Это касается для веб-развертывания. Я видел много документации, в которой указывается -dest: auto, и для меня это не имеет никакого смысла.

Поставщик auto указывает, что поставщик в пункте назначения будет то же, что и поставщик источника.

Пример

msdeploy.exe -verb: sync -source: appHostConfig = "MySite" -dest: auto, computername = Server1

Поставщик авто позволяет не вводить полный путь для -самый аргумент, когда аргумент назначения совпадает с аргументом -источник аргумент. Это также устраняет необходимость копировать файл манифеста. отдельно от архива или пакета.

Авто-провайдер берет указанный вами источник и использует соответствующее место на конечном компьютере. Например, если вы указываете appHostConfig = Site1 в качестве источника, назначения на целевой компьютер будет Site1. Это полезно, когда вы хотите синхронизировать веб-сайт «как есть» с удаленным компьютером.

technet docs для автоматического поставщика

Пример, который не имеет смысла:

msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto

Зачем вам когда-либо указывать место назначения точно на источник? В чем суть? Разве вы не просто перезаписываете источник с помощью iteslf?

Сгенерированный файл cmd, созданный при публикации пакета в VS2010, генерирует что-то вроде этого:

"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"  

Не означает ли автоматически, что источник просто перезапишет себя? Но это не так, он фактически обновляет веб-сайт IIS (на основе настроек в манифесте)

Я пробовал использовать пакет в качестве пункта назначения, и в этом случае он обновил исходный пакет, а не сайт IIS.

Катализатором этого вопроса является то, что я реализую CI и всегда использовал msbuild / xcopy в прошлом. Я хочу использовать msdeploy сейчас. Я хочу понять это, а не просто вызывать myproject.cmd , созданный из Visual Studio.

Например, эта ссылка SO указывает использование поставщика авто для аргумента dest.

Спасибо

6
задан Community 23 May 2017 в 12:16
поделиться