MSDeploy IIS7同步Web服务器

时间:2011-03-15 00:51:31

标签: iis-7 msdeploy

我正在使用以下MSDeploy命令每晚将内容和设置从生产服务器提取到登台服务器。

msdeploy -verb:sync -source:webServer,wmsvc = xx.xx.xx.xx,username = xxxxx,password = xxxxxx,authType = basic -allowUntrusted = true -dest:webServer

如记录here所述,“webServer”提供商使用其他几个提供商。有没有办法排除“machineConfig32”和“machineConfig64”链接的提供程序被执行?

感谢。

更新: 使用清单工作:

<sitemanifest>
   <appHostConfig path="siteNameHere" />
   <appHostSchema />
   <contentPath path="siteNameHere" />
   <rootWebConfig32 />
   <rootWebConfig64 />
</sitemanifest>

使用MSDeploy命令: msdeploy“-verb:sync -source:manifest = d:\ msdeploy \ deploymanifest.xml,wmsvc = xx.xx.xx.xx,username = xxxxxx,password = xxxxxx,authType = basic -allowUntrusted = true -dest:manifest = d:\ msdeploy \ deploymanifest.xml

3 个答案:

答案 0 :(得分:2)

您可以通过在命令行中添加以下内容,一起跳过同步操作中的这些对象:-skip:objectName=machineconfig32 -skip:objectName=machineConfig64

答案 1 :(得分:0)

据我所知 - 没有直接的方法可以排除链接的提供商。但是 - 您可以通过获取依赖项列表来同步各个提供程序。

答案 2 :(得分:0)

您可以排除的关联扩展程序涵盖herehere

我没有看到你的名单,但值得一试。有时候这个doco已经过时了。

也就是说,您可能希望尝试使用清单来“建立”包容性较低的提供商,而不是“拆除”包含清单的提供商。请尝试以下link获取信息..(包裹清单)

然后你可以得到一个包命令,如:(我的IIS6标准包命令,注意这不会像它的IIS6那样完全正常,只是提供一个例子)

-verb:sync -source:manifest=$manifestFile -dest:package=$appName.zip,encryptPassword=MyPassword -enableLink:AppPoolExtension -disableLink:CertificateExtension -disableLink:ContentExtension -declareParamFile:$parametersFile"

并部署:

-verb:sync -source:package=$appname.zip,encryptPassword=MyPassword -dest:auto -setParamFile=$appname_$computernamesetParameters.xml

在清单中,我有网站,内容目录,我需要的注册表位置,甚至是com组件等。