2010-10-01 72 views
3

嗨,大家好,我們目前正在使用Web部署項目來編譯解決方案中的項目並部署我們的網站。我們希望轉向使用CruiseControl .NET,使我們能夠自動化構建,添加測試,並從網站界面啓動/檢查它們。目前,Web部署項目對所有項目(70+)都有項目引用,然後有一個遠程的DeployPath。這最終會運行aspnet_compile和aspnet_merge,並在我們的遠程服務器上刪除文件(程序集+標記)。CruiseControl.NET with web deployment project

我想用CC來模擬這種行爲,但我無法弄清楚如何去做。我試圖使用wdproj作爲msbuild的目標(希望它只是構建和工作),但似乎失敗了。我有一個預感,我需要一個NAnt任務或類似的東西來執行編譯/合併步驟。

難道有人指着我正確的方向嗎?

謝謝!

+0

您能否澄清您今天在Visual Studio中執行的操作以使其部署? – 2010-10-05 14:40:54

回答

0

我最終使用msbuild來運行AspNetCompile和AspNetMerge。只需指向正確的Web文件夾,即可找到相應的依賴關係。謝謝你們的幫助!

1

據我所知,無法使用msbuild構建標準wdproj部署項目。對於標準的部署項目,我認爲你需要安裝Visual Studio。

所以我看到這些選項:

1)的Visual Studio構建服務器上:在構建服務器上安裝Visual Studio,然後使用Visual Studio(devenv.exe的)執行構建。

2)維克斯:如果您需要一個網絡部署項目,你會不會在構建服務器上安裝Visual Studio,嘗試進行部署項目的Windows安裝程序XML來代替:http://wix.sourceforge.net

3)複製的網站的MSBuild:跳過網絡部署項目和使用的MSBuild要麼輸出的網站的東西直接在測試服務器上,或者放在一個臨時文件夾,然後可以使成包NAnt zip任務:

 
<exec program="msbuild" commandline="MySolution.sln" /> 
<exec program="msbuild" 
    commandline="MyWebsite\MyWebsite.csproj /t:ResolveReferences;_CopyWebApplication /p:WebProjectOutputDir=\\MyServer\MyWebsite;OutDir=\\MyServer\MyWebsite\" /> 

該示例假定您在Visual Studio中有一個Web應用程序項目。如果你在Visual Studio中有一個網站項目,那麼確切的步驟將會不同,但仍然可能沿着相同的路線。

+0

我相信你是正確的,msbuild不支持安裝項目 – Pedro 2010-10-04 22:49:00

+1

你錯誤的web部署項目是MSBuild文件。您正在考慮'安裝和部署項目'(.vdproj)。 – 2010-10-05 14:37:51