2011-11-04 32 views
2

我在尋找一個很好的部署ASP.NET MVC3應用程序的部署策略。我想象的是,每個部署都是對源代碼管理系統的某種承諾,因爲部署工具可以自動執行以下操作:尋找一個好的web應用程序部署策略(ASP.NET MVC3)

1)在生成部署包(提交)後,該工具將會 記得我的web.config文件的狀態,包含新的數據庫 自動生成的腳本文件夾的狀態變化,狀態 的包含要在 服務器上運行的新任務批處理文件的文件夾,狀態指定ISS設置更改的文件等。

2)當我下次構建一個包時,工具只知道 包新的scr IPT文件,web.config中的變化,新的批處理文件, 新ISS設置自從我上次包

3)應用程序包對我的web應用程序

我開始尋找到MS部署,但它只是似乎做數3.我一直在尋找一種可以實現我想象的應用程序,或者將SMS和MS Deploy結合起來的策略。我希望有人已經解決了我覺得我在這裏的問題。當然,我的最後一招是建立工具,但這又是我的最後手段。

回答

1

您是否使用Team Foundation Server的?如果是這樣,TFS自帶工具來自動化構建(包括標記代碼,運行單元測試,部署等等)。看看http://msdn.microsoft.com/en-us/library/ms181710(v=vs.80).aspx

TFS不是很容易配置和起步,但它是免費的,如果你是已經在使用TFS。

如果您不使用TFS,尋找持續集成工具,如惡性或TeamCity的。

+0

到目前爲止,NAnt似乎是我能夠構建靈活而強大的夢想部署流程的最佳框架。謝謝 – enamrik

1

你用Web Deploy和Visual Studio中的「發佈」下構建功能?

您可以設定之類的東西在服務器上保留以前的文件選項。

你的web.config文件,你的意思是已經在服務器上的其他地方存在的主要一個或一個?您的web.config文件應該從您的項目複製到服務器,或者在本地運行vs服務器時是否有不同的設置?如果是這樣,看看使用變換來修改web.config。

+0

是的我看了Web Deploy和web.config轉換,但所有這些似乎只是自動部署。這只是我正在尋找的一部分。我正在尋找一種隨時間管理打包的策略 – enamrik

1

這只是一個局部的答案#1你,但我們看了很長一段時間,我們喜歡上了一個遷移工具。我們最終發現Migrator.Net:http://code.google.com/p/migratordotnet/

這樣做,你可以把數據庫遷移到一個批處理命令

+0

我絕對正在考慮爲我的下一個應用程序使用Migration.NET。也許我需要成爲一名Rails開發人員;他們有最好的工具。 – enamrik