將團隊項目遷移到另外一個團隊項目集合中 - Azure DevOps Server (TFS)


問題描述

經常有客戶問我:”在Azure DevOps Server中,如何將一個團隊項目遷移到另外一個團隊項目集合中?”

簡單的答案是:“目前版本不支持!”。

這是目前全球用戶關注度最高一條需求(https://developercommunity.visualstudio.com/idea/365365/make-it-possible-to-move-a-team-project-between-te-1.html),但是非常遺憾,微軟產品組目前也解決不了這個問題。

問題分析

實際上,鑒於Azure DevOps Server (之前叫TFS)的設計,短時間內通過系統升級無法實現這樣的功能。不能實現這個功能的原因有許多,但是其中最核心的一個是數據唯一性標志ID。

在TFS系統,所有的工作項都具有一個唯一的ID值,這個ID值是一個自動增量加1的序列號,例如新增一條需求的ID為1001,之后新建一個Bug的工作項ID就是1002。在同一個團隊項目集合中,這個工作項ID的序列號是共享的,也就是說在第一個團隊項目中新增了一個工作項,在第二個團隊項目中新增的工作項ID也會自動加1。在不同的團隊項目中,有可能都存在1001這樣的工作項。如果我們在團隊項目集合之間遷移團隊項目,那么工作項數據將變得非常混亂。

另外,由於傳統的TFVC庫也存在同樣的問題,在同一個團隊項目集合中,路徑都是以美元符號$開頭的,文件的路徑格式為”$/團隊項目名稱/文件或文件夾路徑“,如果我們在團隊項目集合之間遷移團隊項目,同樣會讓系統中的數據變得混亂不堪。

再加上報表數據庫tfs_warehouse中的數據結構的復雜性,使得這種遷移功能變得非常復雜,涉及數據的變更太多,幾乎是一個無法完成的工作。

所以,大家以后不要在問如何遷移團隊項目的問題了。

解決方案

從上面的分析,我們可以看到這是一個無解的問題。

但是,我們可以避免出現這樣問題。為了避免在使用Azure DevOps Server的過程中出現需要遷移團隊項目的問題,需要在使用之初對企業中的研發數據做好規划,按照一定的標准創建團隊項目。例如,同一個產品線的信息系統存放到相同的團隊項目集合中,相同研發團隊的信息系統存放到同一個團隊項目集合中;如果考慮到不會出現成千上萬的團隊項目,盡量使用默認的團隊項目集合(DefaultCollection),避免使用新的團隊項目集合。


image

------------------------------------------------------------

http://www.cnblogs.com/danzhang/  DevOps MVP 張洪君

------------------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM