我想了解一下最佳实践制定一个选项在Linux上部署ASP.NET MVC应用程序。 如果要创建这些类型的MVC应用程序,
- 哪些Linux /单声道的平台,你定位?
- 如何发展多少是您在Windows和做多少在Linux上?
- 您是否使用ORM抽象的数据库? 哪一个?
- 你运行在Linux上构建引擎? 什么测试?
- 什么是您使用其他工具?
- 已等待了多少额外的工作除了Windows到目标Linux?
- 你有没有遇到过什么丑陋或惊喜?
我想了解一下最佳实践制定一个选项在Linux上部署ASP.NET MVC应用程序。 如果要创建这些类型的MVC应用程序,
该公司为我工作的目标Linux上的单声道作为我们的主要部署环境。 因此,没有“额外”的工作 - 我们提供整个堆栈,从硬件,通过操作系统(定制和修整)到应用程序。 使用开源提供了巨大的节省我们和我们的客户(是的,我们确实有助于回到我们依靠OS项目)。
最重要的是要不断测试使用您的实际目标(对不起,单在Windows上不计数)。 当然,开发人员使用Visual Studio,但连续集成(使用CruiseControl.Net ,你需要单2.4.2在Linux上运行它)是在Windows和Linux都做,测试我们预计工作在所有单版本(其得到更稳定近日,不过,回归根本版本之间发生)。 这是很容易跑并行单声道版本,一个* nix的系统上,你甚至可以包括SVN快照建立,如果你喜欢及早发现上游的回归。 如果不推出自己的分销,那么记住,大多数Linux厂商出货单与提供的补丁 - 这已经造成之前的问题我们。 此外,许多分布有大量的滞后更新单的,这是一个快速发展的项目。
对于数据库层中,我们主要使用“普通” ADO.NET -甲骨文公司(与dotConnect为Oracle ,他们支持单声道)和SQLite(单声道附带了一个工作接头)。 我也用官方的ADO.NET驱动程序为MySQL器(Connector / NET) ,它也工作得很好。 ORM映射是更棘手,但NHibernate的是可用的(记住,他们不支持单声道正式)。
至于构建引擎和测试- 楠和NUnit的是众所周知的,很好的测试。 随着最新版本的单xbuild(的MSBuild克隆)实际上得到使用,但如果你决定使用它更复杂的情况造成了很多补丁做好准备。
编写测试。 其中很多。 准备贡献补丁和bug报告,如果你使用的商业组件 - 确保供应商正式支持单声道。
弥敦道布里奇沃特的博客有一些不错的文章显示,除其他事项:
http://iws.io/get-mvc3-razor-running-on-mono/
看看在Mono项目 。 听起来好像是你在找什么。 如果我没记错的话,他们有ASP.NET MVC现在集成到它。
我从来没有跟单的工作,但是从我的理解没有太多的差异。