2008-12-09 50 views
2

我最近在設計和實現我工作的公司的源代碼版本控制,測試和部署方案方面負責。這聽起來像個好主意嗎? (svn/version control/webdev/deployment)

就我個人而言,我已經在Subversion工作了幾年。但我從來沒有在這麼大的範圍內處理過它。因此,我認爲我會問這裏如果任何人有關於下列設置我deviced任何意見或建議:

  • 幹線作爲主要的開發樹,因爲它應該是
  • 遠程服務器(測試和生產)檢查SVN回購代碼。
    • 測試服務器檢出中​​繼線。
    • 生產服務器簽出「生產」分支。
  • 一旦幹線被認爲已準備好投入生產,它就被合併爲兩個分支,「穩定」和「生產」。
  • 穩定的分支是生產分支的墊腳石。如果新代碼在生產服務器上運行後發現錯誤,則使用穩定分支來修復錯誤,並測試錯誤修復。
  • 一旦修正,修改就會合併到生產分支中,並返回到主幹中,開發繼續進行,就像正常添加新功能一樣,而不管所需的任何錯誤修復如何。

這樣,每當有產品發佈時,開發工具不必在主幹上暫停,因爲錯誤修復不依賴於主幹。此外,即使在大量bug修復的過程中,總是有一個「只讀」分支,其中最新的穩定版和無bug代碼可用。

如果有人有任何建議,意見或以其他方式,我會非常感激:)

回答

1

退房Continuous IntegrationCruise Control/CruiseControl.NET。您可以在CC下設置「項目」以自動檢查(每n分鐘)或根據需要檢查。對於你想要自動化的樹幹,對於穩定的樹枝,你可以根據需要進行設置。

一旦項目變大,樹幹變得需要保護,您可能需要偶爾建立一個TRY分支來進行重大變更或前沿/實驗/未來開發。

1

我會看看Pragmatic Version Control using Subversion書。他們提供了一個非常好的結構來組織倉庫本身,以及處理標籤,分支和發佈,錯誤修復,新功能,實驗等方面的主幹。他們已經爲所有以及SVN命令的「配方」來照顧每一個。

這是一個相當快速的閱讀,他們已經爲你做了很多思考和繁重的工作,包括你還沒有想到的東西。

相關問題