我在本地使用TFS 2013。我在Build機器上配置了四個構建代理。幾個構建定義編譯ASP .NET網站。我配置了msbuild參數來將IIS應用程序部署到位於Rackspace中的集成服務器。TFS 2013構建代理共享通用構建文件夾
默認情況下,webdeploy通過比較文件日期來進行差異部署。在我的情況下,這是一個很大的優勢,因爲將文件從我們的網絡複製到Rackspace需要相當長的一段時間。現在,爲了保存文件日期,構建代理必須編譯相同的基本源代碼集。在每個構建中,只有差異源代碼纔會生成新的DLL,從而最大限度地減少部署的文件數量。
所有這些工作正常,有一個警告:給定的構建定義必須分配給構建代理(通過代理名稱或標記)。問題是我創建了很多意外情況,當分配給同一個代理的所有構建都排隊等候時。他們排隊等待,直到先前的構建完成。
在理想的世界中,任何代理應該能夠處理任何構建,但編譯的源代碼必須相同,無論代理如何。
我試圖改變所有代理的工作文件夾指向相同的位置,但我得到一個錯誤,因爲兩個代理不能映射到同一個文件夾。我想每個代理有一個工作區。
任何想法?
我同意@Jason Williams--目前尚不清楚爲什麼你會希望多個代理商從你描述問題的方式。擁有多個代理人的重點是並行構建,他的選擇經過深思熟慮;自發布以來已經有幾個月了 - 從那以後,您是否對您的流程做過任何更改?無論哪種方式,它怎麼樣? –