13

我正在使用 MSDeploy 部署一个网站,所以使用类似下面的代码。

"%ProgramFiles%\IIS\Microsoft Web Deploy\msdeploy.exe" 
     -verb:sync
     -source:package=WebAppServer.zip 
     -dest:Auto 
     -setParamFile="was_params.xml" 
     -verbose 
          >  webappserversync.log

无论如何设置应用程序池?我想从命令行执行此操作,而不是将其设置在清单或类似的东西中。

没关系,但这是在 IIS7 中。

4

2 回答 2

19

生成包时,需要在 parameters.xml 文件中有一个条目用于设置应用程序池。部署时,您可以在 setParameters.xml 文件中包含该值,或者从命令行使用 -setParam。

这是我用来抓取网站的命令,它生成了正确的 parameters.xml 文件......

msdeploy.exe 
  -verb:sync -source:appHostConfig="Default Web Site" 
  -enableLink:AppPoolExtension 
  -dest:package=site.zip 
  -declareParam:name="Application Pool",
       defaultValue="Default Web Site",
       description="Application pool for this site",
       kind=DeploymentObjectAttribute,
       scope=appHostConfig,
       match="application/@applicationPool"

并从命令行安装此站点,这...

msdeploy.exe 
    -verb:sync 
    -dest:appHostConfig="MagicSite" 
    -enableLink:AppPoolExtension 
    -source:package=site.zip 
    -setParam:"Application Pool"="MagicPool"

在parameters.xml 文件中挖掘以查看必要的条目。如果您愿意,该-setParam条目可以存在于您的params.xml文件中。

于 2010-11-12T01:47:18.767 回答
1

看看这个答案:

使用 MSDeploy 和 TFS 2010 设置应用程序池

基本上,您使用 adsutil 脚本创建一个批处理文件来设置应用程序池,然后调用 MSDeploy 在目标计算机上运行该批处理文件。

于 2011-03-08T17:24:09.213 回答