2010-09-01 86 views
1

使用Windows 2008 Server(即具有2個構建代理的構建服務器(TFS 2010)),如何配置使用相同帳戶的這些代理以使用多個工作區(或阻止它使用多個工作區)具有相同的路徑?TFS 2010多構建代理用戶管理

目前,我看到的行爲是IT使用相同的用戶和相同的路徑創建多個工作區。我必須手動刪除重複的工作區。稍後的一些構建嘗試會自動創建更多工作空間,然後無法構建,因爲有多個具有相同路徑的工作空間。再次,這是自動發生的,並且不得不每隔10分鐘手動刪除工作區,這不是一個答案。

謝謝。

編輯:卸載並重新安裝TFS生成代理,這解決了這個問題。

回答

1

(我不完全確定這是否回答了問題,但是...)IIRC您可以爲每個構建代理配置根工作文件夾。然後,他們可以在他們自己的工作空間中彼此並肩工作,而不會發生任何衝突。

+0

上述方法打破了我的參考路徑,除非我使它們成爲靜態(沒有模板),並且這不能解決多工作區問題。 2代理3+工作區(我不知道爲什麼它不斷創建這些) – 2010-09-01 19:58:51

+0

@ user264892:我強烈建議對所有引用使用相對路徑 - 絕對路徑是一個殺手。 *在某些時候你會*遇到絕對路徑的主要問題,並且你離開的時間越長,那個問題就會被解決。對我來說它工作得很好,所以我不在乎它使用多少個工作區。它使用3個工作區是否重要?通常,如果我發現自己在爭取某些東西來獲得自己的方式,我最終會發現我做錯了什麼。 – 2010-09-01 20:07:02

+0

那麼,它使用3個工作區確實很重要。這就是TFS給我的錯誤。 TFS使用相同的路徑創建多個工作區。再次,這是自動創建。我沒有告訴它在我的構建服務器上爲每個代理創建3個(現在是5個)工作空間。路徑不是相對的,但似乎通過模板解析到相同的路徑,然後我的構建失敗,因爲我的構建器用戶現在已創建3個相同的工作空間。我可以阻止TFS自動創建工作區? – 2010-09-01 21:04:42

0

每個構建代理應該使用自己的工作目錄。我在構建服務器上有多個構建代理,並且在設置時,對於工作空間我沒有任何問題。

的默認生成代理工作目錄是一樣的東西:基於$(BuildAgentId)

$(SystemDrive)\Builds\$(BuildAgentId)\$(BuildDefinitionPath) 

所以應該有不同的文件夾。

+0

嘗試此方法無法解析引用。由於項目本身正在爲引用尋找「C:\ Assembles」,現在它們在$(SystemDrive)\ Builds \ $(BuildAgentId)\ $(BuildDefinitionPath)\ Assemblies中。 2小時谷歌沒有解決問題的解決方案。 – 2010-09-01 21:06:46

+0

對於您的構建定義,在「工作區」選項卡下,是否引用瞭解決方案所需的所有庫的位置? – LordHits 2010-09-01 21:18:09

+1

將「C:\」變爲「.. \ .. \」(或者使路徑相對所需的任何內容)將使您的問題消失。如果你不這樣做,如果你嘗試分支,決定你需要2個代碼副本(比如在追趕一個棘手的bug時比較前後的比較),或者只是發現你真的需要將代碼移動到D:或E:驅動器(例如,在我以前的公司,IT部門給我們9GB的C:分區。瘋狂,但我們的代碼必須繼續D:因此)...你不能谷歌解決您的問題,因爲每個人都使用相對路徑。 – 2010-09-01 21:22:21