2010-10-26 66 views
11

我正在部署使用MSDeploy的网站,以便使用类似下面的代码。使用MSDeploy为软件包设置应用程序池

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

反正是有设置应用程序池?我想从命令行执行此操作,而不是将它设置为清单或类似的东西。

应该没关系,但这是在IIS7中。

回答

18

生成包时,需要在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文件中。

+5

如果我能得到这个工作,就会被炸掉。脚本化应用程序池就好了,但在调用msdeploy时设置该参数似乎没有什么区别。 – piers7 2012-09-11 00:33:53

1

看看这个答案:

Set application pool with MSDeploy and TFS 2010

基本上,你创建一个ADSUTIL脚本来设置应用程序池的批处理文件,然后调用MSDeploy上运行的目标是批处理文件电脑。

+0

...来创建应用程序池。但如何为网站定位? – piers7 2012-09-11 00:35:48

相关问题