2011-11-18 49 views
0

我已經實現了使用TFS版本控制和TFS Build 2010的持續集成。編譯後的網站項目被放入一個帶有版本號的共享文件夾中。如何在不影響用戶的情況下持續集成直播網站?

現在我有一個很基本的問題,可能是一個愚蠢的問題。當我們通常將網站項目從VS 2010部署到網絡服務器時,它會將App_Offline.htm文件上傳到網站文件夾,因此不會向用戶提供任何請求。發佈完成後,App_Offline.htm文件被刪除。在此期間用戶看到停電。

如果我們在現場的網站上使用CI那麼怎樣才能消除這似乎用戶該中斷。我相信CI的重點在於用戶可以看到更新的功能,而且網站永不停機。

這是如何完成的?如果我們將網站項目部署到根文件夾,那麼現有用戶將受到影響,這當然不是可取的。

我想知道什麼是與VS2010推薦的做法,TFS2010構建&版本控制。

回答

2

有沒有真正萬無一失的方法,對於這一點,服務上的時間從來都不是100%,這就是爲什麼人們通常在「nines」定義它

但是,如果你有多個Web服務器(備份,故障恢復,鏡像等),您可以在它們之間推出更新,以便在更新某些服務器時,其他服務器仍然會聯機(儘管使用舊版本)來爲用戶提供服務。

一般來說,只有一些大型網站都如此精心擔心被下來了短短几分鐘,所以一定要確保你關注你的精力在正確的地方; )

1

關於取下來的網站在最短的時間,我已經看到了這個做成功使用多個站點的唯一途徑 - 要麼負載平衡,或者2點在同一臺機器上+發佈後換主機頭/暖身。但在大多數情況下,這是不值得的努力,發佈不應該超過幾秒鐘的網站,在這段時間內應該有相對較少的請求。您最好嘗試一些您可以通過網站發佈來幫助用戶生活的事情。

移動會話出PROC的。 如果用戶會話駐留在應用程序池中,當新版本發佈時它將丟失,請更改配置將其移至會話服務器或數據庫中。

指定的網站 視圖狀態計算機密鑰(和餅乾?)使用是當一個網站開始,如果一個網站重新生成的密鑰由於發佈的任何用戶填寫表格將收到加密回發時無效的viewstate異常。 (注意:這可能有其他安全性影響)

相關問題