2012-04-01 101 views
0

我有一个Azure部署,8个实例。最简单的方法来更新在Azure Deloyment上查看

现在我面临一个问题,为了实现最大限度的灵活性,我使用了很多VIEW(文件)来自定义显示不同功能的结果页面(甚至不同的主机网站,我在一个部署中节省了成本部署多个站点)。当我想改变VIEW(有时只是编辑错字,有时可能会添加一个新页面或删除某个部分),那么我需要重新部署整个解决方案,这是非常耗时的过程(编译,打包,上传,部署,切换VIP .....)。

我想知道你们是否有一些更简单的解决方案,可以在不重新部署的情况下更新所有实例中的所有VIEW(文件)?我可以更新所有视图(添加/删除视图文件等),同时我也会在本地解决方案中更新视图,因此所有更改都会在下次重新部署时保留。

回答

3

看看这个1.4+的SDK“Update Web Role”和步骤使用它在How to Update Web Role post和这个Announcing Improved In-place Updates 1.5+。

注意:手动黑客更新和跳过测试在临时插槽将花费更多的时间在日志运行中保存15分钟。由于您的网站需要8个实例,因此它看起来像使用量非常大 - 通过上传未经测试的更改来打破它并不是一个好主意。我强烈建议先将更改部署到临时插槽(即使用一个实例),对其进行测试,然后增加实例数和交换VIP。作为一个副作用,在交换之后,您仍然可以在正在运行的站点上运行,因此,如果您更新了某些内容(例如,将旧版本保留在具有一个实例的旧版本2-4小时),您可以快速恢复它。

2

推荐或最佳做法(唯一方法)是重新部署。部署Azure包时,您发送的所有内容仅为cspkg和cscfg。 Azure结构控制器只保留这两个存储库。

弹出的另一个选择/直观的想法是做一个RD并做出改变(然而在你的情况下,在8台机器上做同样的事情是非常平凡的任务)。同样,即使Azure是单一实例,也不建议这样做,因为结构控制器可以将实例拉到负载均衡任务等。在此情况下,结构控制器将放弃应用于RD机器的更改并重新部署原始软件包。

如果您担心部署包中无缝更改的停机时间,则可以部署新实例并使用流量管理器CTP路由流量,然后修复更改。

如果出于困难或减轻Azure实例管理工作,最好重新部署。

相关问题