在我工作的地方,当我们知道客户没有使用系统时,我们每晚都会在系统中发布错误修复。
尝试向更好的服务迈出一步我想在应用程序运行时部署到IIS。
我们想到的解决方案是设置两个不同的IIS应用程序,并在使用脚本部署后将其切换。但是我不打算尝试这个,因为我不想在繁忙时间出现任何问题。
有没有人在这个部署领域有经验?
由于
答案 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
,并在完成后将生产网站切换到该文件夹。
您可以选择让测试站点指向您要部署到的文件夹,以便在切换生产站点之前确保站点正常工作。
这可以全部编写脚本。
这里有一些可能感兴趣的相关阅读:
Rob Conery还有一篇很棒的博文,内容是关于ASP.NET应用程序缺乏合适的部署故事。你应该浏览一些非常有见地的评论:Publishing/uploading new DLL to IIS: website goes down whilst uploading
Is smooth deployment possible with componentized ASP.NET MVC apps?