我正在使用以下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
答案 0 :(得分:2)
您可以通过在命令行中添加以下内容,一起跳过同步操作中的这些对象:-skip:objectName=machineconfig32 -skip:objectName=machineConfig64
答案 1 :(得分:0)
据我所知 - 没有直接的方法可以排除链接的提供商。但是 - 您可以通过获取依赖项列表来同步各个提供程序。
答案 2 :(得分:0)
我没有看到你的名单,但值得一试。有时候这个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组件等。