我正在使用Publish / Web Deploy从Visual Studio 2010部署asp.net应用程序。它运行完美,但存在问题。如果新版本没有按预期工作,旧版本已经被新版本替换,并且没有简单的方法可以回滚到工作版本。这怎么能最好地解决?我希望可以将旧版本保留在服务器上,以便我可以根据需要切换回来。
答案 0 :(得分:3)
使用WebDeploy没有内置的回滚功能,所以一旦你部署了它就可以了。
您可以采用一些手动策略,例如:
限制访问,例如共享主机:
您无法完全访问本机 -
通过下载预先备份实时网站。
保留所部署内容的副本,以便在出现问题时推送以前的版本
完全访问权限
为应用程序维护两组文件夹,并将您的站点映射到这些文件夹中的一个或另一个。当您部署切换IIS站点的物理路径到其他文件夹然后部署。如果站点失败,那么只需将站点敲回原始文件夹即可。每次成功部署都会在这两个文件夹之间切换。
对于像用户上传的内容这样的内容,您需要将虚拟目录映射到文件系统上始终相同位置的位置,因为您不希望每次都复制这些内容。
您不是唯一遇到过这些问题的人。看看Rob Conery的这篇文章以及他关于ASP.NET部署的事态的观察。
答案 1 :(得分:0)
使用某种形式的源代码管理将是另一种选择。我们使用subversion,所以如果发布变坏,我们可以更新回到最后一个好的版本,并发布它。即使您是唯一的开发人员,使用源代码控制也非常有用。