2010-10-29 36 views
1

我開始使用Web部署來構建和部署Web應用程序。到目前爲止,我可以構建一個包並進行部署,但這不僅僅是xcopy部署所能做的。創建Web Deploy程序包以設置.net版本並創建新網站

所以我的命令來構建包是這樣的:

msbuild EMP.WebAdmin.csproj /T:Package /P:Configuration=Release;PackageLocation="D:\Packages\WebAdmin.zip";DeployIisAppPath="TestWebAdmin" 

如果TestWebAdmin已經存在和.net的版本已被設置爲.NET 4中的一切似乎是罰款。但是,我真正想要做的是使用包檢查來查看部署是否已經存在,如果不是創建它(最好是在一個已定義的目錄中)並確保任何主機頭設置正確。我是否要求太多的網絡部署,我一直沒能找到一篇好文章,談論如何去做這種細節。

是我想要做的可能嗎?

回答

0

項目的「發佈/封裝網站」選項卡上的設置是什麼?您的網站需要使用IIS,並且您需要選中該框以包含IIS應用程序設置。另外,你如何部署?我的理解是,你使用的msbuild命令會構建這個包,但你在哪裏調用msdeploy?

我沒有msdeploy爲我創建應用程序,但它正在運行Sql更新腳本我也包括在內。

+0

是的,我的網站使用IIS,但對於開發我使用開發服務器。包含IIS設置的複選框已禁用,是因爲我正在使用開發服務器嗎?對msdeploy的調用由msbuild完成,所以上面的命令是我用來創建包的。 – ilivewithian 2010-10-29 15:23:15

+0

對,我找到了,除非你真的將項目設置爲使用IIS而不是開發服務,否則它不會選擇IIS設置。我也在使用軟件包目標,但只爲我建立軟件包。在我的nant構建腳本中,我稍後調用msdeploy來自動化部署到開發系統(呃,我可以,一旦我們有一個到位,但我已經測試了從構建服務器到我的筆記本電腦的自動部署,而且這確實有效) 。 – Andy 2010-10-29 17:20:53

0

您可以撥打WebDeploy直接以創建程序包並將其設置爲一個生成後事件:

"%ProgramFiles%\IIS\Microsoft Web Deploy\msdeploy.exe" -source:iisApp="<physical path to your app>" -dest:package=d:\myApp.zip 

這樣,你沒有讓自己的應用部署到IIS服務器,其實你不活動需要在盒子上安裝IIS。