【问题标题】:What tool should I use to automate my deployment of my ASP.NET MVC application?我应该使用什么工具来自动部署我的 ASP.NET MVC 应用程序?
【发布时间】:2009-07-26 02:41:53
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      仅在 VS2010 之前支持此功能

      查看Web Deployment Project。它能够满足您的大部分要求。 我将它用于部署的构建部分。我不确定复制到 iis 并重新启动 IIS 部分。

      【讨论】:

      • +1 大粉丝。已经使用它一段时间了,“非常成功”:)
      • URL 已损坏.. @Mathias 请更新 Web 部署项目的 url
      【解决方案3】:

      你看过WebDeploy了吗?

      【讨论】:

        【解决方案4】:

        您可以尝试InstallAce,它负责大多数 Web 应用程序的部署场景,包括构建打包、脚本任务、IIS 或 SQL 任务、文件分发和服务器端配置文件更新。

        【讨论】:

          猜你喜欢
          • 2011-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多