對於我們公司的網站,我們開發的風格最爲準確地稱爲持續部署(http://toni.org/2010/05/19/in-praise我們有一個Web場,每個站點都位於兩臺服務器上,以實現故障轉移目的。我們希望自動化部署到我們的開發服務器,測試服務器和prod服務器的過程。 Out網站是ASP.Net網站(而不是Web應用程序),所以我們不會構建,只是推送頁面。根據許多變數,我們通常每天從2-20次改變我們的主站點。這些更改可以是添加新頁面/功能的簡單文本/ html更改。具有連續部署模型的ASP.Net網站的自動部署
目前我們使用TFS進行源碼控制,每個站點都是自己的倉庫。我們沒有分支機構,當您需要審查開發時,您手動將更改發送給開發人員(我們在本地計算機上開發),然後在簽出後檢入更改並手動推送它們(這可確保源文件是什麼實際上產生和合併發生在那時)。很明顯,在這裏有很多錯誤的空間,很少發生,開發人員會忘記關鍵文件並將整個站點關閉。
似乎大多數部署工具都是建立在構建過程之上的,這不是我們可能會採取的行動,因爲我們需要非常靈活地滿足我們的業務需求。我們真的希望,我們認爲,是類似如下:
- 開發獲取最新版本的網站,從源頭控制,基本上是生產
- 開發確實對自己的工作盒的拷貝。
- 當它準備通過任務所有者審查他創造某種形式的變更的(無論是在改變或者別的什麼檢查),然後工具將推動這一變化到dev
- 審覈後(並進一步可能發生的變化) dev然後是能夠讓工具推動所有這項任務的變化進行測試(UAT)
- 在此簽署後,更改將自動推送到prod並簽入prod分支,或其他任何人,以獲得
我們已經玩弄了在TFS中有三個代碼分支的想法,但我們不知道如何從一個分支(產品),但檢入開發分支(我們都不是TFS大師)。
那麼,其他人怎麼處理這種情況呢?如果我們想要做我們想做的事情,也不需要垂直解決方案,我們就不會將其作爲源控制提供商,我們也非常樂意插入不同的組件,只要它們可以插入如果必須的話,甚至可以開發自己的產品。
在此先感謝。
其實我沒有看到用TFS做這件事的方法,但我們會考慮Mercurial。謝謝你的提示 – user1812849