我应该使用什么工具来自动部署ASP.NET MVC应用程序?

时间:2009-07-26 02:41:54

标签: .net asp.net-mvc iis-7 automated-deploy

我使用ASP.NET MVC为我的暑期实习写了一个网站。进展顺利,但我发现痛苦的一件事就是部署。特别是,因为我们经常进行部署,而且我一直在手工完成。

我正在寻找一种“标准”.NET部署工具,可以与ASP.NET MVC项目一起使用,以自动化我们的部署过程。

我希望该工具可以做的一些事情(我现在手动完成):

  • 将编译模式设置为“Release”
  • 发布我的ASP.NET MVC Web应用程序项目
  • 确保我的Web Config中的调试模式=“关闭”
  • 将我们数据库的连接字符串从dev db更改为prod db的信息
  • 将网站转移到网络服务器
  • 理想情况下,如果它停止IIS站点并用新文件替换现有站点,然后重新启动它将会很好。

考虑到这些软性要求,您建议我用什么工具来解决这个问题?如果重要的话,我正在使用II7。

4 个答案:

答案 0 :(得分:6)

我会使用NAnt。你可以拥有它:

  • 从源代码存储库中检索代码(它包含绝大多数代码的插件)。
  • 它可以直接编译代码,也可以使用解决方案文件和命令行选项来启动vstudio。查看命令行选项,您可以告诉它进行重建并将模式更改为Release。
  • 它具有XML命令(XMLPOKE),可让您在部署过程中轻松将调试模式更改为关闭
  • 复制文件很简单(有很多方法可以做到这一点)。

而且,您不需要停止IIS站点。您只需添加app_offline.htm文件(仔细检查我的文件名)。点击网站后,该页面将自动显示。因此,让NAnt脚本在第一步时部署文件,并将其作为最后一步删除。

答案 1 :(得分:2)

仅在VS2010

之前支持此功能

查看Web Deployment Project。它能够完成您要求的大部分内容。 我用它作为部署的构建部分。我不是害怕复制到iis并重新启动IIS-part。

答案 2 :(得分:1)

你看过WebDeploy了吗?

答案 3 :(得分:0)

您可以尝试InstallAce来处理Web应用程序的大多数部署方案,包括构建打包,脚本任务,IIS或SQL任务,文件分发和服务器端配置文件更新。