kyletme
kyletme

Reputation: 461

MSDeploy IIS7 Sync Web Servers

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 />
   <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

Upvotes: 1

Views: 2184

Answers (3)

kateroh
kateroh

Reputation: 4416

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

Upvotes: 2

Toby Meyer
Toby Meyer

Reputation: 316

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.

Upvotes: 0

sajoshi
sajoshi

Reputation: 2763

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.

Upvotes: 0

Related Questions