2010-10-26 73 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

相關問題