2011-08-19 194 views
2

我使用Publish/Web Deploy从Visual Studio 2010部署了一个asp.net应用程序。它的工作原理完美,但存在问题。如果新版本没有按预期工作,则旧版本已被新版本取代,并且没有简单的方法可以回滚到正常工作版本。这最好的解决方法是什么?我希望可以将旧版本保留在服务器上,以便在需要时切换回来。Visual Studio 2010发布/ web部署问题

回答

2

有了WebDeploy,没有内置的回滚功能,所以一旦你部署了它就是了。

有一些手卷策略,你可以到位,例如:

限制访问例如共享主机:

如果你没有完全进入机器 -

  1. 事先备份活动站点下载该程序。

  2. 让你部署什么的副本,这样你可以把以前的版本应该什么破

完全访问:

维护两套文件夹的应用程序和网站映射到其中一个或其他文件夹。当您开始部署时,将IIS站点的物理路径切换到其他文件夹,然后部署。如果该网站失败,则只需将该网站敲回原始文件夹。每个成功的部署将在这两个文件夹之间交替。

对于像用户上传的内容那样的东西,您需要将虚拟目录映射到文件系统上始终是相同位置的地方,因为您不希望每次都复制这些内容。

你不是唯一遇到这些问题的人。看看Rob Conery撰写的这篇文章以及他对有关ASP.NET部署事务状况的看法。

ASP.NET Deployment Needs To Be Fixed

Getting Constructive On ASP.NET Deployment

+0

谢谢。这就像我之前做过的那样(手动部署时)。我希望有一种方法可以使创建备份/复制步骤自动化。 – rgullhaug

+0

@rgull - 除非你脚本整个构建和部署,然后没有任何内置的给你即时回滚功能。 – Kev

0

使用某种形式的源控制的将是另一种选择。我们使用颠覆,所以如果发布不好,我们可以更新回最后一个好版本,并发布它。即使你是唯一的开发者,使用源代码控制也是非常有用的。