使用SQL将ASP.net MVC应用程序部署到暂存和生产

6 svn asp.net deployment asp.net-mvc continuous-integration

我们已经在ColdFusion商店工作了10年,现在正转向ASP.net MVC.我们的目标框架是使用VS 2010 BETA 2的.net 4.0 BETA 2.我们设置了两个Windows Server 2008实例(登台和生产),并将使用我们现有的数据库服务器(SQL Server 2008).

虽然我们对C#和MVC模式都很满意,但我们中没有人真正拥有ASP.net本身的经验.编码本身并不是一个问题; 但部署过程是.我们的目标是能够有一个CI设置,它将自动下拉并测试我们的应用程序进入提交阶段 - 然后可以选择在网站通过QA时标记,然后切换我们生产站点上的签出.

我在这里遇到的一些问题是ASP.net应用程序的概念以及它如何集成到SVN中.CF,如PHP或RoR,都是脚本语言,因此不需要构建过程(将源代码检入生产非常简单).但在这种情况下,应用程序需要编译 - 这是我们开始遇到问题的地方.我们是否需要创建另一个服务器(或使用现有服务器),该服务器具有某种应用程序,可以下载代码,编译代码,然后以某种方式将其推送到实时服务器上?如果是这样,什么被认为是实现这一目标的最佳方式?我想如果我们最终使用像Nant这样的构建工具,添加额外的步骤来迁移数据库将是微不足道的,但是实现这一目标的最佳方法是什么?

另一个稍微不相关的问题是我们的设计师如何使用我们的代码.他们中的大多数都在Mac上,使用VS并不是一个选择.他们如何轻松编辑aspx,css和图像文件?我们的目标是使它尽可能透明.

我们已经做了很多购物,ASP.net MVC似乎是我们熟悉语言和我们当前平台的最佳选择.我们只需要找出一个好的构建过程,所以一切都尽可能透明.我知道有很多资源可供选择,但我想从第一手的经验中得到这里的人们的意见.

Kei*_*ler 1

Microsoft TFS 内置了一个出色的构建解决方案。这是昂贵的,但有效的。另外,你也不会因为看CruiseControl而迷失,它是免费的。JetBrains 的 TeamCity 也是一个不错的选择。所有这些持续构建和集成解决方案将为您的研究提供一个良好的起点。

http://msdn.microsoft.com/en-us/teamsystem/dd408382.aspx

http://www.cruisecontrol.com/

http://www.jetbrains.com/teamcity/

甚至 Draco.net 也是一个不错的考虑因素:

http://draconet.sourceforge.net/