2013-07-26 56 views
2

我正在爲我公司的Intranet網站工作,目前正在使用SVN作爲版本控制,主要使用'trunk'進行所有開發。 大型新功能在分支中開發,稍後將合併到主幹。使用SVN的網站開發模式

但是最近我們決定首先在指定的測試服務器上進行所有可用的更改,給每個人一週時間來測試/驗證這些更改,然後在生產服務器上提供它們(如果沒有異議/錯誤找到。

離開樹枝和發展模式超出範圍就目前來看,這給了我3個不同的 '環境' 有共存:

  • 發展
  • 測試
  • 生產

問題在於我在trunk中不斷地開發,當一個塊完成時,我想在測試服務器上激活它,然後在驗證一週後,我想在專業版上激活它也是。

這是我想到的想法,但我想得到一些關於這是否是正確的方式去的反饋。

這個想法是繼續在主幹中進行「常規」開發,並使用功能分支進行大的更改,然後再將這些更改合併到主幹中,這裏沒有任何更改。 然後我會製作2個副本,一個到branches/test,另一個到branches/production。然後,每次我爲主幹提交一些東西時,我都可以先挑選它來測試,然後再進行生產。 這允許我合併一些更改到生產,同時保留其他可能尚未通過測試的批准。

這是一個很好的前進方向嗎? 在此先感謝!

回答

0

這就是我們如何設置: 我們在樹幹上開發。 我們的開發工作在我們當地的筆記本電腦上,當它運行良好時,我們登記。 然後,我們將部署到發展服務器的主幹上,並在那裏進行一些測試。

我們也在中繼上部署到測試服務器,但只有在我們看到它在Dev服務器上工作後,才能部署到測試服務器,而且如果Test中的代碼已被批准用於產品,則不會。

所以開發者是最近一次簽入,而且測試通常也是最近的一次,但有時它是一個較舊的版本。這兩個都在Trunk上。

當Test中的代碼被批准爲Prod時,我們將創建一個標籤,然後將該標籤部署到複製的應用程序,確保源代碼與我們期望的匹配,然後將該標籤創建的應用程序部署到Prod 。

如果最終通過QA的Test中的代碼不是最新的trunk,我們只是將該標籤從修訂版編號中刪除。

我們不經常使用分支,因爲我們喜歡一次部署所有內容。但是我們曾經有過使用分支機構進行主要功能的工作,並且有一些工具可以在整合完成後進行整合。