【发布时间】:2011-08-17 17:42:28
【问题描述】:
有人能解释一下(比 technet/msdn 文档更好)汽车提供者究竟做了什么,它是如何工作的,以及何时使用它。
这是关于 Web 部署的。我看过很多指定 -dest:auto 的文档,这对我来说并没有什么意义。
自动提供程序指定目标上的提供程序将是 与源提供程序相同。
例子
msdeploy.exe -verb:sync -source:appHostConfig="MySite" -dest:auto,computername=Server1
自动提供程序使您可以避免输入完整路径 -dest 参数,当目标参数与 -源参数。它还消除了复制清单文件的需要 独立于存档或包。
自动提供程序采用您指定的来源并使用 目标计算机上的相应位置。例如,如果 您指定 appHostConfig=Site1 作为源,目标在 目标计算机将是 Site1。这在您需要时很有用 将网站“按原样”同步到远程计算机。
technet docs for auto provider
没有意义的例子:
msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto
您为什么要将目标完全设置为源?重点是什么?你不是简单地用iteslf 覆盖源代码吗?
在VS2010中发布包生成的cmd文件生成如下:
"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"
自动不是意味着源只会覆盖自己吗?但它没有,它实际上更新了 IIS 网站(基于清单中的设置)
我尝试使用包作为目标,在这种情况下它确实更新了源包而不是 IIS 站点。
这个问题的催化剂是我正在实施 CI,而且我过去一直使用 msbuild/xcopy。我现在想使用 msdeploy。我想了解它,而不是简单地调用从 Visual Studio 生成的 myproject.cmd。
例如,this SO link 指定使用自动提供程序作为 dest 参数。
谢谢
【问题讨论】: