Sco*_*tes 6 msdeploy webdeploy
有人可以解释(比technet/msdn docs更好)汽车提供商究竟做了什么,它是如何工作的,以及何时使用它.
这与Web部署有关.我看过很多文档指定-dest:auto,这对我来说并没有多大意义.
自动提供程序指定目标上的提供程序与源提供程序相同.
例
msdeploy.exe -verb:sync -source:appHostConfig ="MySite"-dest:auto,computername = Server1
当destination参数与-source参数相同时,auto提供程序使您可以避免输入-dest参数的完整路径.它还消除了从存档或包中单独复制清单文件的需要.
自动提供程序获取您指定的源并使用目标计算机上的相应位置.例如,如果指定appHostConfig = Site1作为源,则目标计算机上的目标将为Site1.当您希望"按原样"将网站同步到远程计算机时,这非常有用.
technet docs for auto provider
没有意义的例子:
msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto
Run Code Online (Sandbox Code Playgroud)
为什么要将目标确切地设置为源?有什么意义?你不是简单地用iteslf覆盖源代码吗?
在VS2010中发布包生成的生成的cmd文件生成如下内容:
"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"
Run Code Online (Sandbox Code Playgroud)
不自动意味着源只会覆盖自己吗?但事实并非如此,它实际上更新了IIS网站(基于清单中的设置)
我已经尝试使用包作为目标,在这种情况下,它确实更新了源包而不是IIS站点.
这个问题的催化剂是我正在实施CI,我过去总是使用msbuild/xcopy.我想现在使用msdeploy.我想理解它,而不是简单地调用从visual studio生成的myproject.cmd.
例如,此SO链接指定使用自动提供程序作为dest参数.
谢谢
我想你实际上已经为自己找到了答案。
如果源是一个包而目标是 auto,则意味着包内指定的组件将被“解压缩”并放置在目标服务器上。在 -source:package -dest:auto 语法中,“auto”并不意味着包本身就是目标。
而且,正如您所观察到的,如果您指定一个包作为目标,那么您为源指定的任何内容确实都会打包为 zip 文件,您稍后可以将其用作源来部署到其他地方。
| 归档时间: |
|
| 查看次数: |
2359 次 |
| 最近记录: |