一點背景首先...TFS 2008:有關汽車的問題構建,標籤和普通版本
我設立了一個版本爲我們的項目目前只開發分支編號系統,但我們現在是走向我們的第一次部署。我們正在使用TFS,並且我們每晚都在我們的開發分支上使用。
我們可能要這樣做的方式是,當我們爲發佈做好準備時,我們將一個分支關閉,並將其稱爲1.x.這應該是一個測試分支:我們測試它,修復它(然後合併回dev),再測試一下,當它完好時,我們從1.x分支中取出另一個分支並將其稱爲1.0。這個分支被部署到生產環境中。生產中的任何修復都將被提交給1.x,並進行測試,然後創建一個新的分支1.1。
我的問題是與1.x分支的測試。測試之前,分支將被鎖定,原因很明顯。我的問題是,質量保證要求對「版本號」進行一輪測試,如果測試失敗,下一輪測試將針對新的「版本號」。我們的開發人員希望將「版本號」與版本綁定,並且測試可以迭代該版本......所以這裏有衝突。
我的第一個想法是使用內部版本號作爲代碼測試的時間點。當提交新版本進行測試時,1.x分支再次被鎖定,構建將被啓動,並且生成的VSTS編號將成爲「V1.0的釋放條件1」。將RC映射到構建版本,我們可以在電子表格中手動執行...
...然後有人提到標籤,並且應該在測試之前將代碼鎖定爲labled並構建。我之前從未使用標籤,並剛剛閱讀過構建本身在TFS中創建標籤。
我現在對什麼是最好的方式去這裏感到困惑。是否足夠使用發佈候選版本號?手動標記在這裏是否有任何用途(我能看到的唯一好處是我們可以給出它自己的名稱和描述)?我可以告訴TFS不要在運行構建時創建標籤,而只需在重要時間點完成所有標籤(例如,並非每個構建都將成爲發佈候選)?如果是這樣,每次構建一個壞主意後都不會創建一個標籤,那麼標籤給我什麼?
我想我感到困惑的地方changsets,內部版本號/名稱和標籤都適合彼此...
這是一個很寬泛的問題,但它的那些我不是100%肯定者之一要問什麼。任何幫助讚賞。
「移動標籤」,這是什麼究竟意味着什麼呢?我得到的印象是,TFS中的標籤並不構成「時間點」,而是可以在標籤製作完成後對標籤代碼進行更改。我們希望在這種情況下標註爲「時間點」...這就是你爲什麼建議是否鎖定標籤? – MrLane 2010-03-04 01:08:16
@mrlane:「移動標籤」:某些VCS允許移動標籤以引用另一個提交。在TFS中,由於標籤可以被編輯(http://stackoverflow.com/questions/545785/how-do-i-figure-out-which-changeset-a-label-in-tfs-was-applied-to), **如果用於QA,則不應對其進行編輯,否則QA不確定它正在測試**。因此,我的'標籤鎖定'評論,即使你不能真正鎖定標籤在TFS(只有文件) – VonC 2010-03-04 07:25:30