开发者

MSDeploy IIS7 Sync Web Servers

开发者 https://www.devze.com 2023-02-17 07:14 出处:网络
I am using the following MSDeploy command to pull content and settings from a production server to a staging server nightly.

I am using the following MSDeploy command to pull content and settings from a production server to a staging server nightly.

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

As documented here the "webServer" provider uses several other providers. Is there any way to exclude the "machineConfig32" and "machineConfig64" linked providers from being executed?

Thanks.

Updated: Using a manifest works:

<sitemanifest>
   <appHostConfig path="siteNameHere" />
   <appHostSchema />
   &l开发者_Go百科t;contentPath path="siteNameHere" />
   <rootWebConfig32 />
   <rootWebConfig64 />
</sitemanifest>

with MSDeploy command: 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


You can just skip those objects from the sync operation all together by adding the following to your command line: -skip:objectName=machineconfig32 -skip:objectName=machineConfig64


The linked extensions you can exclude are covered here and here:

I don't see yours listed there, but it may be worth a try. Sometimes this doco is out of date.

That said, you may want to try to "build up" less inclusive providers using manifests rather than "tearing down" an all-inclusive one. Try the following link for the info.. (package manifests)

Then you can have a package command like: (my IIS6 standard package command, note this won't work exactly as it's IIS6, just serving up an example)

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

and deploy:

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

In the manifest I then have the site, the content directory, a registry location I need, and even com components and the like.


As far as I know - there is no direct way to exclude linked providers. However - you can sync individual providers by getting the dependency list.

0

精彩评论

暂无评论...
验证码 换一张
取 消