【发布时间】:2011-08-06 19:41:12
【问题描述】:
在我工作的地方,当我们知道我们的客户没有使用系统时,我们每晚都会在系统中发布错误修复。
尝试向更好的服务迈出一步,我想在应用程序运行时将其部署到 IIS。
想到的一个解决方案是设置两个不同的 IIS 应用程序,并在部署后使用脚本切换它们。但我不打算尝试这个,因为我不想在我们忙碌的时间出现任何并发症。
有人在这个部署领域有经验吗?
谢谢
【问题讨论】:
标签: deployment iis-7
在我工作的地方,当我们知道我们的客户没有使用系统时,我们每晚都会在系统中发布错误修复。
尝试向更好的服务迈出一步,我想在应用程序运行时将其部署到 IIS。
想到的一个解决方案是设置两个不同的 IIS 应用程序,并在部署后使用脚本切换它们。但我不打算尝试这个,因为我不想在我们忙碌的时间出现任何并发症。
有人在这个部署领域有经验吗?
谢谢
【问题讨论】:
标签: deployment iis-7
无论您使用的是 PHP、ASP、ASP.NET 等,都没有对 IIS 上的事务部署的本机支持。
最简单的方法是在您的网络服务器上拥有两个物理文件夹和(可选的两个网站 - 一个生产,一个测试),例如:
c:\网站\myapp\dep1 c:\网站\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 应用程序缺乏体面部署故事的优秀博客文章。您应该浏览一下 cmets,其中一些很有见地:
【讨论】:
Get-NetIPAddress 和 New-NetIPAddress cmd-let 仅在 Windows 8/2012 上开箱即用。