我們正在使用Teamcity並使用msbuild MSDeployPublish目標部署我們的網站。 這工作正常,但我們也想確保我們部署到的服務器上的應用程序池將「加載用戶配置文件」設置爲true。使用Web Deploy和TeamCity修改應用程序池
我們該怎麼做?
如果MSDeployPublish不可行,可以使用命令行步驟和MsDeploy.exe來完成嗎?
我們正在使用Teamcity並使用msbuild MSDeployPublish目標部署我們的網站。 這工作正常,但我們也想確保我們部署到的服務器上的應用程序池將「加載用戶配置文件」設置爲true。使用Web Deploy和TeamCity修改應用程序池
我們該怎麼做?
如果MSDeployPublish不可行,可以使用命令行步驟和MsDeploy.exe來完成嗎?
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
因此,包括在應用程序池後,我將構建軟件包只是添加到appool.zip然後將該zip文件部署到我的網站上? – Martin
這就是關鍵所在,是的。請記住,即使您通常將其部署爲非管理員,也需要以管理員身份執行部署,原因是應用程序池更改。 –