[英]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.