代码之家  ›  专栏  ›  技术社区  ›  Hooloovoo

您使用什么方法将ASP.Net应用程序部署到野外?

  •  19
  • Hooloovoo  · 技术社区  · 17 年前

    目前,我们通过在本地发布网站并通过电子邮件向系统管理员发送一个zip文件(通常是一组冗长的部署说明)来部署已编译的ASP.Net应用程序。这是因为我们第一次向客户部署ASP.Net应用程序时,dev和test IIS实例是相同的,并且我们无法将站点两次部署到同一台机器上。这为所有后续项目的部署奠定了基础。

    我现在正在评估我们的部署方法,并特别关注内置的部署工具;具体来说,我正在研究自定义安装任务,并尽可能多地使用标准安装程序功能(主要是用户界面)。

    其次,我正在考虑合并部署和自动更新。

    您如何在组织中部署软件?你使用什么工具?你最常遇到什么问题?

    6 回复  |  直到 16 年前
        1
  •  3
  •   Steve J    17 年前

    我们有专门的开发、测试、阶段和生产服务器。

    我们也有一个专门的机器,运行巡航控制。

    巡航控制配置为连续集成构建,在代码签入后运行。它还配置为单独的开发、QA、阶段和生产任务。

    要部署到开发中,首先从SVN检索并构建代码,然后将“预编译Web”文件夹复制到开发网站,并将Web服务项目复制到开发应用程序服务器。巡航控制也被配置为在构建开始之前“标记”源代码,以便我们可以在以后重新生成构建,或者在需要进行热修复时从标记分支。

    要部署到QA,文件将从开发机器复制到QA机器。

    同样,要部署到后台,文件将从QA机器复制到后台机器。

    最后,为了部署到生产环境中,再次将文件从后台计算机复制到生产环境中。

    要配置每个环境,我们有一个自定义工具,它是每个环境巡航控制任务的一部分,用于修改连接字符串“debug=true | false”、“customErrors=Off | RemoteOnly”和其他特定于环境的设置。

    因此,每个环境都可以通过巡航控制仪表板上的按钮进行部署。

    一个警告是,我们目前在巡航控制配置文件中配置了生产数据库密码…最好将其移到别处!

    谢谢

        2
  •  0
  •   JamesEggers    17 年前

    1) 使用Web部署项目编译和清理生成,并在环境之间更改配置时处理Web.config节替换。 2) 使用NAnt以重复的方式进行所有的构建、归档和复制。

    Web部署项目最终创建了一个MSBuild文件,可以用来代替NAnt;然而,我来自Java背景,一直在使用Ant,所以NAnt是我在.Net中的首选。如果添加NAnt Contrib任务,则不仅可以部署文件,还可以处理诸如源代码管理(如果它不是默认任务的一部分)和Sql脚本执行更改等项。

    目前我同时使用这两个选项。我让NAnt生成文件通过MSBuild调用Web部署项目。通过为每个环境设置configuration manager,它允许我自动管理web.config节的替换,并且仍然可以相当好地控制对版本的复制和归档。

    希望这有帮助。

        3
  •  0
  •   simon831    17 年前

    Team Foundation Buy每天晚上运行以重建解决方案,并将所有内容复制到“发布CD”目录,任何人都可以访问并在最新的“发布”上进行测试。

    在以前的一家公司中,我们使用了这个 http://www.finalbuilder.com/

        4
  •  0
  •   Ken Burkhardt    17 年前

    1) 使用MSBUILD生成项目

    2) 将文件FTP到生产环境

    3) 手动复制/粘贴到每个web服务器

        5
  •  0
  •   Darth Continent    17 年前

    对于内部网站点,我们使用 CruiseControl 结合 SVN

    理论上,如果可以将驱动器远程映射到客户机的内部网,则可以通过VPN扩展此模型。或者,一个更快速、更脏的解决方案可能是使用类似 SyncBack

        6
  •  -2
  •   Muhammad Akhtar    17 年前

    使用复制Web工具部署Web应用程序

    如果要向许多用户提供Web应用程序(例如,允许用户从Web下载并安装应用程序),则Web安装项目非常有用。如果您负责更新组织的特定网站,则每次更新时登录到Web服务器并安装Windows Installer软件包是不切实际的。对于内部应用程序,可以直接在Web服务器上编辑Web应用程序。但是,您所做的更改会立即在生产Web应用程序中实现,这包括可能存在的任何错误。要使您能够测试Web应用程序,您可以在计算机上编辑Web应用程序的本地副本,并使用“复制Web”工具将更改发布到生产Web服务器。您还可以使用“复制Web”工具将更改从临时服务器发布到生产Web服务器,或在任意两个Web服务器之间发布。“复制Web”工具可以将单个文件或整个网站复制到源网站和远程网站或从源网站和远程网站复制整个网站。您还可以选择同步文件,这涉及仅复制已更改的文件,并检测可能的版本控制冲突,其中源站点和远程站点上的同一文件已分别编辑。复制Web工具无法在单个文件中合并更改;只能复制完整的文件。

    推荐文章