2012-04-01 99 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實例管理工作,最好重新部署。

相關問題