2014-03-25 54 views
2

好吧,我有幾個問題:TFS 2012 - 通過標籤引用外部項目

1 - 比方說,我有一個解決方案,引用幾個外部項目。我想引用這些外部項目上的特定標籤(表示穩定版本)。我知道你可以通過在這些項目上按標籤獲取特定版本來做到這一點。但是一旦你這樣做了,是否有一種方便的方式來完成整個解決方案,並保留所有特定版本?

最終,我想要做一個單一的獲取,並獲得最新的適用的地方,並獲得適用的特定版本。在所有項目上都需要單獨進行Gets似乎令人沮喪。

2 - 是否有可能從標籤構建二進制文件?當一個外部項目是一個穩定版本不會改變時,只需引用該二進制文件就很有意義。當你創建一個標籤並構建它時,它是否會在可供引用的標籤的特定位置生成二進制文件?

回答

0

關於你的第一個問題:雖然TFS允許你通過標籤獲取源代碼,但沒有辦法設置綁定到特定標籤或特定路徑的變更集的工作區配置。我能想到的唯一的事情是創建其獲取最新版本的批處理文件:

tf get $/Project/Sources /Version:T /recusive

tf get $/Project/ComponentA /version:LMyLabelName1 /recursive

tf get $/Project/ComponentB /version:LMyLabelName2 /recursive

前進的道路做,這是到publish your external references to a NuGet repository(可以是你自己的),然後配置NuGet以獲得特定版本。 CI構建可以向NuGet服務器發佈新版本。 And you can setup your own server so that you don't need to publish all your binaries to a public server

關於你的第二個問題:是的,你可以通過標籤在隊列中逐漸建立屏幕上,您可以設置構建版本,將建成:

Queue Build - Get version option.

您可以指定一個變更集數( C ######),標籤(L Labelname)等。任何版本規格都可以(見commandline docs for a explanation on version specs)。

默認情況下,如果按標籤生成,則不會生成易於引用的名稱。我懷疑一些聰明的構建自定義將允許您根據標籤名稱將構建輸出放置在預定義的文件夾中,但沒有這種現成的功能。