由12位開發人員組成的團隊,您能幫我確定使用mercurial進行源代碼管理和團隊城市構建服務器的產品構建和部署產品的流程和工作流程嗎?具有選擇性功能部署和持續集成的Mercurial工作流程
我們有一個跟蹤問題和改進請求的系統。其中大部分都是一些開發人員在一兩天至一週的時間內完成的小bug和增強功能。我想要完成的是讓業務人員和IT管理人員就開發人員工作的票證優先協商。完成後,這些更改將被提交併推送到中央存儲庫並在票務系統中標記爲開發完成。那麼qa和業務團隊應該能夠從被標記爲開發完整的票據中進行選擇,並且根據優先級,qa的必要數量和qa資源可用性,在我們的產品中包含下一個版本的票據。
我原本以爲我可以通過讓開發人員對每個票據的新命名分支提交更改來實現此目的。有了這個,每個選定票證的分支可以合併到默認值,並且可以執行構建和部署到qa(並最終生產)。
與此相關的問題是持續集成。在我看來,我只能靜態配置teamcity來構建我們中央存儲庫中的特定分支。也許這是我們所在團隊城市版本的限制。目前使用5.0.3,但升級是一個選項(和我們可能會做的任何事情)。也許有一些棘手的方法使它建立在提示之上,因此觸發構建的提交的分支的頭部發生了?如果開發人員正在爲所有事情提交併推動不同的分支機構,並且這些分支機構在一段時間後纔會合併到默認分支機構中 - 足夠晚了,qa現在正在等待這些更改以進行構建,並且如果構建體損壞,則成本會更高 - 我們沒有一個特定的分支來進行持續集成構建。或許我會讓這個過於複雜和/或忽略一些簡單的東西。幫助表示讚賞。有沒有一種方法可以實現這種版本的選擇性集成,並且在開發人員推動時仍然可以持續集成?
命名分支並不適合短期努力,如錯誤和功能。他們更好地保留永久的概念,如「穩定」和「實驗」,標籤用於發佈。閱讀http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/ – 2011-03-02 06:20:51