2009-07-02 73 views
2

我們正在考慮將另一臺服務器添加到開發生命週期中,以便我們可以測試部署。如何測試部署

一些背景資料: 我們構建Web應用程序,使用ASP.NET和SQL Server 2005有4名開發人員在團隊和易於釋放每2週一次。

這是我們目前部署的方法: 我們開發了一個開發服務器的每個開發案上和完成它被添加到分段服務器,在那裏進行測試。當我們到達發佈日期時,發行版中的所有情況都會從Staging服務器部署到Live服務器。

但是問題是只有當我們進行完整部署時,我們在發佈日期部署到Live時 - 所有部署到分段都是逐案完成的。這意味着我們一直在犯錯或跳過實時部署中的步驟(例如在部署期間忘記鎖定用戶)。我們需要的是一種虛擬運行實時部署的方式。

我們現在考慮的是增加另一個服務器的釋放過程,所以......

當前服務器設置:開發服務器 - >臨時服務器 - > Live服務器

潛在的服務器組-up:開發服務器 - >臨時服務器 - >測試版服務器(是正確的名字嗎?) - > Live服務器

這樣,我們可以練習測試版服務器和DRA每個全面部署爲現場部署提供一系列步驟 - 希望我們的實時部署更順暢。我們還計劃讓客戶訪問Beta服務器來測試自己的事情。

請讓我知道您的想法。您是否這樣做,還是有另一種方式在發佈日期之前測試我們的部署?

回答

3

您正處在正確的軌道上。

下面是我們的工作方式 - 其他人可能會以不同的方式做事(但他們也可以回答您的問題,您可以自行決定)。

1)代碼是在開發 - 這是不受控制的區域。

2)所有數據庫更改都是腳本化的,所有.NET代碼都內置於MSI中。我們將這些部署到測試中。他們也被存放在一個特別的地方,他們不能與之混淆。如果有任何問題,測試會找到它們,我們將調整腳本/創建新的MSI的修復程序。

3)一旦測試完成,「預生產」環境就會從現場刷新。它會看起來像一個相同的生活副本。最終版本進入「前期製作」。部署應該是可行的,但這是確保它的確切機會。如果沒有,部署會被調整,並且「預生產」環境將從現場刷新回來,所以我們知道我們正在對一個完全副本進行測試(沒有針對您已經搞亂的那個測試它)與!)

4)如果發佈工作(你通常會執行一些測試來檢查所有的組件),它已準備好在現場運行。

它可以幫助您將數據庫腳本重新運行。在再次執行之前檢查更改是否已經存在,以防腳本因任何原因運行多次。例如,如果您將配置值添加到表中,請檢查以確保您尚未完成配置,否則可以多次添加配置值並填充數據。