我的問題是,如何以良好的方式版本控制生產環境?版本控制的生產環境
這是我們目前的環境:
- (內部服務器)開發 - 版本控制源代碼
- (客戶服務器)驗收測試環境
- (客戶服務器)臨時環境
- (客戶服務器)生產環境
當我們發佈接受新功能ance測試,我們在Visual Studio中進行發佈,壓縮更改並將其應用到測試服務器上。在那裏,我們創建了一個備份文件夾(以便我們可以恢復更改),並製作發佈文件夾,以便我們在批准時將這些更改移至暫存。
這是大量的手工勞動創建備份文件夾,釋放文件夾,重新創建目錄結構,並嘗試跟蹤什麼功能進入什麼版本。這是很費時的,並且一些開發者沒有遵循釋放過程總是有問題。
在理論上我可以讓測試環境的存儲庫。 (忘記源代碼,這是關於已發佈的應用程序)在每個版本中,開發人員都會進行提交併提供有關他正在發佈的功能的評論。
當功能應從測試移動到分段時,我們導出從上次更新分段環境進行更新並將其複製到分段應用程序中。在那裏我們做了一個提交,稍後可以將其提交到生產環境。
這樣做的缺點是使用Subversion會使應用程序與這些.svn目錄混亂。這可以通過禁止訪問IIS或web.config中的這些目錄來修補。另一種解決方案是在應用程序根目錄上的目錄中使用Git。但Git很難與Windows環境中的無經驗的開發人員一起工作。
有沒有人有這個問題的經驗?您如何版本控制您的生產環境?如果您需要恢復發行版,那麼您是否有發佈之前創建的備份文件夾?
我已經與我們的開發人員討論過這個問題,他們看不到使用Subversion進行測試/臨時/生產環境的版本控制和備份的任何問題。相反,他們會很高興不要在每次需要發佈新功能時都創建發佈/備份文件夾。
同時對此也有一些不安全感。之前沒有人聽說過這個,在版本控制系統中有應用,我們不確定會有什麼缺點。
如果您有這種情況的經驗,我很樂意聽到它。
的Mikael倫丁