簡體   English   中英

使用MSDeploy和TFS 2010設置應用程序池

[英]Set application pool with MSDeploy and TFS 2010

我正在嘗試使用MSDeploy部署網站,並使用其中一些進行團隊建設...

/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"

是否可以在自定義應用程序池中設置此網站?

如果使用的是IIS 7,則可以使用appPoolProvider將應用程序池同步到遠程服務器。 看到:

http://technet.microsoft.com/zh-CN/library/dd569070(WS.10).aspx

http://blog.torresdal.net/2010/08/16/NoClickWebDeploymentPart2WebDeployAkaMsdeploy.aspx

但是,我無法真正使它正常工作,並且如果您使用的是IIS 6,則還是無法正常工作。 但是,您可以做的是利用MSDeploy在遠程服務器上運行幾個命令來設置應用程序池(並在網站上注冊.NET版本)。

首先,創建一個包含類似於以下內容的批處理文件:

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
  SET w3svc/<IIS number>/Root/<virtual directory>/AppPoolid "<app pool name>"

因此,如果IIS編號為1,則您的虛擬目錄為“ MyDirectory”,而應用程序池名為“ .NET4.0”,則命令為。

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
  SET w3svc/1/Root/MyDirectory/AppPoolid ".NET4.0"

然后,您可以運行MSDeploy,將此批處理文件作為參數傳遞並在遠程計算機上運行:

MSDeploy 
  -verb:sync 
  -source:runCommand="<path to batch file>",waitinterval=5000 
  -dest:auto,computername=<computer name>

其中<path to batch file>是您剛剛在上面創建的批處理文件的完整路徑,並且是您要對其運行此計算機的計算機。 這是描述runCommand參數的鏈接: http : runCommand .aspx

我確定您可以將其設置為TFS中的構建步驟。 我們制作了一個.NET實用程序,作為我們部署過程的一部分,該實用程序會創建這些批處理文件並運行MSDeploy命令。

您也可以用這種相同的方法來做其他可能對您有用的事情:
注冊IIS版本:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe 
  -s w3svc/1/root/MyDirectory  

創建一個應用程序池:

CSCRIPT //nologo %dir%\adsutil.vbs 
  CREATE w3svc/AppPools/AppPoolName IISApplicationPool  

感謝http://justsamson.com/2010/06/14/create-virtual-directory-in-iis-6-0-via-command-line/為命令行腳本提供了各種功能。

技巧的一部分是使用/p:IncludeAppPool=true 這將更改部署腳本以啟用AppPoolExtension。 但是我還沒有想出如何最好地實際設置應用程序池。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM