如何在运行该Web应用程序时将应用程序部署到IIS

时间:2011-04-16 08:30:38

标签: deployment iis-7

在我工作的地方,当我们知道客户没有使用系统时,我们每晚都会在系统中发布错误修复。

尝试向更好的服务迈出一步我想在应用程序运行时部署到IIS。

我们想到的解决方案是设置两个不同的IIS应用程序,并在使用脚本部署后将其切换。但是我不打算尝试这个,因为我不想在繁忙时间出现任何问题。

有没有人在这个部署领域有经验?

由于

1 个答案:

答案 0 :(得分:3)

无论您是否使用PHP,ASP,ASP.NET等,IIS上的事务部署都没有本机支持。

最简单的方法是在Web服务器上安装两个物理文件夹和(可选两个网站 - 一个生产,一个测试),例如:

c:\websites\myapp\dep1  
c:\websites\myapp\dep2

最初,您的网站的物理路径指向c:\websites\myapp\dep1

部署最新版本时,您需要部署到c:\websites\myapp\dep2。完成后,只需将生产站点的物理路径切换到此文件夹即可。这意味着您仍然拥有原始网站,并且如果新代码因任何原因失败,则可以退回到该网站。

下次进行部署时,您需要部署到c:\websites\myapp\dep1,并在完成后将生产网站切换到该文件夹​​。

您可以选择让测试站点指向您要部署到的文件夹,以便在切换生产站点之前确保站点正常工作。

这可以全部编写脚本。

这里有一些可能感兴趣的相关阅读:

  

Publishing/uploading new DLL to IIS: website goes down whilst uploading

     

Is smooth deployment possible with componentized ASP.NET MVC apps?

Rob Conery还有一篇很棒的博文,内容是关于ASP.NET应用程序缺乏合适的部署故事。你应该浏览一些非常有见地的评论:

  

ASP.NET Deployment Needs To Be Fixed

     

Getting Constructive On ASP.NET Deployment