2010-02-18 61 views
2

當我在TFS 2008中構建我們的項目之一時,大約需要30分鐘才能構建一個小型項目。當我查看構建日誌文本時,我注意到它正在執行以下任務,即獲取我們的TFS存儲庫(DEV,MAIN,PROD,TEST)的所有分支並在構建之前下載源。有沒有辦法只獲得構建所需的依賴關係,而不是爲每個項目下載我們的整個源代碼庫?TFS 2008在構建一個項目時獲取源代碼的所有分支

BuildLog.text片段:

獲取TeamFoundationServerUrl = 「HTTP:// vmtfs:8080 /」 BuildUri = 「vstfs:///構建/編譯/ 10676」 力=真正覆寫=假PopulateOutput =假預覽=假遞歸=真正的版本= 「C19791」 工作區= 「VMLSBUILD_17」

我們正在使用VS2005與TFS 2008

回答

0

沒錯,關鍵是在你的腳本行:

Workspace="VMLSBUILD_17" 

在構建計算機上,啓動VS,單擊「文件」菜單,然後選擇「源代碼控制 - >工作區」。編輯您的腳本使用的工作空間,僅包含構建服務器所需的文件夾。您可以創建多個工作區,並選擇以這種方式在構建腳本中使用哪些工作區。

+0

David感謝您的回覆,並且對解決我們的問題非常有幫助。再次感謝。 – Bill 2010-02-19 15:53:05

+0

不建議或不支持此方法。 – 2010-02-19 17:23:35

+0

除非另行配置,否則Team Build將刪除工作區並使用構建定義中爲每個構建指定的文件夾重新創建它。通過在構建服務器上手動編輯對工作空間所做的更改通常會在下一個版本中丟失。 – 2010-09-22 14:23:11

1

與2005年不同,在TFS 2005中,Get過程中使用的工作空間映射是實際構建定義的一部分。使用VS中的Build Explorer工具編輯你喜歡的映射。 (注意:由於您主要運行VS2005,因此2008團隊資源管理器客戶端將顯示爲獨立應用程序。)

+0

你假設@Bill正在使用TFS構建定義。我有一個每晚構建,我非常滿意使用powershell和MSBuild與tfs命令行工具。如果TFS的構建功能一開始就有用,我們可能已經走下了這條路線,但很難證明重新訪問該努力的合理性。 – 2010-02-20 21:04:19

+0

當然,我假設。你認爲他的buildlog.txt與Team Build的搭配是一致的嗎? – 2010-02-20 22:44:27

相關問題