[英]Deploy ASP.NET MVC on Linux: Best Practices, Tools & Surprises
我想知道開發ASP.NET MVC應用程序的最佳實踐,可選擇在Linux上部署。 如果您正在創建這些類型的MVC應用程序,
我工作的公司將Linux上的Mono作為我們的主要部署環境。 因此,沒有“額外”的工作 - 我們提供從硬件到操作系統(定制和修剪)到應用程序的整個堆棧。 使用開源為我們和我們的客戶帶來了巨大的節省(是的,我們確實回饋了我們依賴的OS項目)。
重要的是要不斷測試你的實際目標(抱歉,Windows上的Mono不計算在內)。 當然,開發人員使用Visual Studio,但是在Windows和Linux上進行連續集成(使用CruiseControl.Net ,你需要Mono 2.4.2在Linux上運行它),測試我們期望處理的所有Mono版本(它最近變得更加穩定,但是,在發布之間確實發生了回歸)。 在一個* nix系統上運行並行Mono版本非常容易,如果您希望盡早捕獲上游回歸,甚至可以包含svn快照構建。 如果您沒有推出自己的發行版,那么請記住大多數Linux供應商都會使用自定義補丁發布Mono - 這對我們來說已經造成了問題。 此外,許多發行版都有很多延遲更新Mono,這是一個快速推進的項目。
對於數據庫層,我們主要使用“普通”ADO.NET - Oracle(使用dotConnect for Oracle ,它們支持Mono)和SQLite(Mono附帶有工作連接器)。 我也使用官方的ADO.NET驅動程序MySQL(連接器/ NET) ,它也運行良好。 ORM映射更棘手,但NHibernate是可用的(請記住,他們不正式支持Mono)。
至於構建引擎和測試 - NAnt和NUnit是眾所周知的並經過充分測試。 最新版本的Mono xbuild(MSBuild的克隆版)實際上已經可以使用了,但是如果您決定將它用於更復雜的場景,那么請准備好自己做出很多補丁。
寫測試。 其中很多。 准備好提供補丁和bug報告,如果你使用商業組件 - 確保供應商正式支持Mono。
Nathan Bridgewater的博客上有一些很好的文章,其中包括:
看看Mono項目 。 這聽起來就像你在尋找。 如果我沒記錯的話,他們現在已經將ASP.NET MVC集成到了它中。
我從未與Mono合作過,但從我的理解來看,並沒有太多差異。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.