如何使用msdeploy在IIS 6.0上部署网站

时间:2011-03-22 09:21:37

标签: iis-6 web-deployment-project msdeploy

我在源服务器上的共享位置有一个zip文件,并且使用msdeploy,我想将它复制到目标服务器。但是,如果第一次在目标服务器上不存在该站点,那么它也应该创建该站点。源服务器和目标服务器都是Windows Server 2003上的IIS 6.0。

我尝试过使用不同的提供商组合,例如

msdeploy.exe -verb:sync -source:package="\\SourceServer\WebSites\Site1.zip" -dest:metakey="Site1"

我收到以下消息:

错误:Source(contentPath)和目标(metaKey)与给定操作不兼容。

我还尝试在默认网站上首先在目的地创建网站,然后复制文件,但后来我不知道如何让新网站Site1指向这个新目录:

  1. msdeploy.exe -verb:sync -source:metakey="Default Web Site" -dest:metakey="Site1"
  2. msdeploy.exe -verb:sync -source:package="\\SourceServer\WebSites\Site1.zip" -dest:contentpath="\\DesitnationServer\WebSites\Site1"
  3. 如何使新网站Site1指向新目录“\ DesitnationServer \ WebSites \ Site1”?
  4. 即使我按照上述步骤操作,我也不希望每次部署Site1时都执行第1步和第2步。

    我相信必须有一个简单的方法吗?有什么想法吗?

2 个答案:

答案 0 :(得分:2)

问题!

  • 您的源包是仅内容备份(不是设置(我假设来自“contentpath”)) - 您不能将来自一个提供商的备份与还原混合到另一个提供商(特殊情况除外)。
  • 您的“metakey”语法不是我之前见过的元数据库键位置 - 它必须是基于元数据库中站点位置的站点标识符(例如,默认网站将是“/ lm / w3svc” / 1“)

有一个关于你想做什么的演练here。试一试!

(跳到最底部的部分,看起来与您尝试的内容非常相似:“可选 - 使用包文件将您的网站与目标同步”)

答案 1 :(得分:2)

您必须将iisApp MSDeploy提供程序与目标一起使用。 iisApp提供程序与IIS 6和7兼容,而appHostConfig仅与IIS 7兼容。所以试试下面的

msdeploy.exe -verb:sync -source:package="\\SourceServer\WebSites\Site1.zip" -dest:iisApp="Site1"