我正在使用 Publish/Web Deploy 从 Visual Studio 2010 部署一个 asp.net 应用程序。它运行良好,但有一个问题。如果新版本没有按预期工作,则旧版本已经被新版本替换,并且没有简单的方法可以回滚到工作版本。如何最好地解决这个问题?我希望可以将旧版本保留在服务器上,这样我就可以在需要时切换回来。
问问题
934 次
2 回答
3
使用 WebDeploy 没有内置的回滚功能,因此一旦部署就可以了。
您可以实施许多手卷策略,例如:
受限访问,例如共享主机:
如果您无法完全访问机器 -
通过下载预先备份实时站点。
保留您部署的副本,以便在出现问题时推送以前的版本
完全访问:
为应用程序维护两组文件夹,并将您的站点映射到这些文件夹中的一个或其他。当您开始部署时,将 IIS 站点的物理路径切换到另一个文件夹,然后进行部署。如果站点失败,那么只需将站点敲回原始文件夹即可。每次成功部署都会在这两个文件夹之间交替。
对于诸如用户上传的内容之类的内容,您需要将虚拟目录映射到文件系统上始终相同的位置,因为您不想每次都复制这些内容。
您不是唯一遇到这些问题的人。查看 Rob Conery 的这篇文章以及他对 ASP.NET 部署状况的观察。
于 2011-08-21T00:42:12.727 回答
0
使用某种形式的源代码管理将是另一种选择。我们使用颠覆,所以如果发布不好,我们可以更新回最后一个好的版本,然后发布。即使您是唯一的开发人员,使用源代码管理也非常有用。
于 2011-12-02T14:49:18.950 回答