部署网站的最佳实践

时间:2011-11-01 18:06:15

标签: asp.net-mvc deployment

我想知道部署网站的最佳做法。

我通常做的是缩小所有javascript和css文件,从注释中清除html代码并使用Visual Studio发布我的解决方案。

还有其他最好的方法可以将较低的weigth网站放在网上吗?

1 个答案:

答案 0 :(得分:3)

如果在线用户很少,例如在晚上或周末,请尝试执行生产部署。通知用户计划中断。

部署到生产环境时,您可以创建“App_Offline.htm”文件并将其放在ASP.NET网站的根目录中。 ASP.NET识别此文件具有特殊含义 - 所有动态页面请求都显示在此页面而不是用户请求的页面。通常,此页面会显示一条友好的消息,例如“服务器已停机以进行日常维护。请在30分钟后重试。”

让部署减少痛苦的另一个方法是让您的web.config在各种环境(如开发,测试和生产)之间保持尽可能相似。对于在不同环境中真正需要更改的内容,例如连接字符串,您可以通过在web.config中设置将它们提取到自己的connectionStrings.config文件中。

对于数据库部署,有一些很棒的第三方工具(例如SQL Server的Teratrax Database Compare),它们允许您比较两个数据库之间的模式和/或数据,并生成将迁移目标的SQL脚本数据库到其他数据库的模式。这是否适合您将取决于您的确切开发实践。如果您不能使用此类工具,则可以编写每个数据库更改的脚本,然后在部署到其他环境时重播这些脚本。

当然,理想情况下,您应该拥有一个与Production完全相同的测试环境,并且能够进行所有验收测试并确保您的发布稳定,并且在您完成实际工作之前部署将会正常工作。