2015-07-10 190 views
2

我想知道是否有人可以通過TFS解決問題。處理TFS中的不同版本

我有一個文件夾結構,如下所示: -

- development 
- project gets branched to here for development 
- drop 
- build drop folder 
- main 
- project is in here 

我現在已經被要求創建2個版本。 1爲我們的生產和1爲我們的預生產環境,所以即時通訊想知道什麼是實現這一目標的最佳途徑。

我的想法是改變結構如下所示: -

- development 
- project gets branched to here for development 
- drop 
- Production 
    - build drop folder 
- PreProduction 
    - build drop folder for preproduction project 
- main 
- Production 
    - production project moved to here 
- PreProduction 
    - preproduction project branched from production and placed in here 
+2

擁有用於非生產和生產的不同版本的軟件似乎很瘋狂。你正打開自己的生產中未檢測到的錯誤。這樣做的商業案例是什麼? –

+1

希望通過「兩個不同的版本」,產品所有者的真正意思是「好的,我們只希望在生產中啓用某些功能*,但我們希望其他人能夠在生產前」。如果是這種情況,那麼只有*一個版本的產品應該存在,並且功能標誌應該用於啓用/禁用功能。正如@丹尼爾曼指出的那樣,擁有兩個獨立的代碼庫就是瘋狂。 –

+0

同意上面的評論,你應該只有一個版本,我認爲你現有的分支已經支持它。你開發的分支都是預產品版本。當他們準備好推進時,你會合併到Main並從那裏部署。創建prod vs pre-prod主要是註冊麻煩和挫敗目的。 – Isaiah4110

回答

1

你是什麼之後,「發行分支」。我建議這種類型的發佈版本主要只針對大型開發團隊,因爲它有相關開銷。只做你的特定團隊所需要的。我通常只在有開發團隊,發佈/操作團隊和質量保證團隊時纔會看到這一點。

我經歷的典型過程是認證(預生產部署的幾個階段)。在認證過程中,發現錯誤並將其修復在發佈分支(發佈修補程序/開發線)之外的分支上。這些修補程序通常不會被帶回主開發線。

認證完成並且代碼已準備好用於生產環境後,它最後一次分支。爲了幫助可視化,請參閱下圖。 Release Branching

+0

應該注意的是,每個認證行都與主要版本相關聯,而鎖定版本是次要版本。 –

+0

也應該注意,以敏捷的方式構建現代軟件與上述分支結構是互斥的。儘可能避免分支。改用功能來切換。 –

相關問題