Web 部署(msdeploy),同步除站点和池之外的所有内容(但包括 siteDefaults)

Web 部署(msdeploy),同步除站点和池之外的所有内容(但包括 siteDefaults)

今天我执行以下操作来同步两个网络服务器但跳过所有站点配置:

msdeploy -verb:sync -source:webServer -dest:webServer,computerName=web25:8080
    -skip:objectName=section,absolutePath=system.applicationHost/sites 
    -skip:objectName=section,absolutePath=system.applicationHost/applicationPools

但是,这实际上也跳过了 siteDefaults,我确实喜欢同步它(system.applicationHost/sites/siteDefaults

似乎没有办法“包含”某个部分,以覆盖 skip 指令。而且似乎也没有办法只同步 applicationHost 中的 siteDefaults 部分,因为源 appHostConfig 似乎只同步指定站点,而不同步 siteDefaults。

也许可以使用 Xpath 表达式或类似表达式来“跳过”,仅跳过节点,但包括,但我发现文档有点令人困惑,而且我的 Xpath 生疏了。

答案1

我自己找到了一个解决方案:

msdeploy -verb:sync -source:webServer -dest:webServer,computerName=web25:8080 
     -skip:xPath=//site
     -skip:objectName=section,absolutePath=system.applicationHost/applicationPools

希望这对某些人有帮助。我从来没有真正弄清楚整个 XPath 树是什么样子的,而且它的文档似乎很少。但是,//site 似乎足够独特,可以满足我的需求。

相关内容