2012-09-26 20 views
0

我們正在使用Teamcity並使用msbuild MSDeployPublish目標部署我們的網站。 這工作正常,但我們也想確保我們部署到的服務器上的應用程序池將「加載用戶配置文件」設置爲true。使用Web Deploy和TeamCity修改應用程序池

我們該怎麼做?

如果MSDeployPublish不可行,可以使用命令行步驟和MsDeploy.exe來完成嗎?

回答

1

It's not possible using MSBuild,但它可以使用MSDeploy。

MSDeploy不會讓您直接指定設置,但它可以讓您備份應用程序池並將其應用到另一臺服務器(它將修改設置中的差異,如果有的話)。

首先,您需要備份您的設置,並積極投入到SVN:

msdeploy -verb:sync 
     -source:appPoolConfig="name of your apppool" 
     -dest:package="apppool.zip" 

在編譯時,您需要將輸出包同步到的appppol包,因爲清單提供商不能包括封裝/ archivedir提供商:

msdeploy -verb:sync 
     -source:ApplicationPackage.zip 
     -dest:appool.zip 
     -skip:skipAction:Delete 

(跳躍防止部署從目標包刪除appPoolConfig提供商)

注意:不要這樣做(apppool.zip到ApplicationPackage.zip),因爲它會刪除所有聲明的參數,我不知道如何跳過。

這或許可以複製apppool.zip「下面」 ApplicationPackage.zip它產生之前(通過MsDeploySourceManifest),因此它實際上是在一個步驟合併,但我會離開,作爲一個練習你,直到我得到的時間來測試它。

注:您還可以使用DEST:archivedir如果你寧願有目錄中的文件比ZIP

+0

因此,包括在應用程序池後,我將構建軟件包只是添加到appool.zip然後將該zip文件部署到我的網站上? – Martin

+0

這就是關鍵所在,是的。請記住,即使您通常將其部署爲非管理員,也需要以管理員身份執行部署,原因是應用程序池更改。 –

相關問題