2013-07-05 167 views
0

我有一個安裝了三個代理的TFS 2010構建服務:數據庫,生產和發佈,每個構建都有相互獨立的構建集。TFS構建與代理的排隊

當構建排隊時,不幸的是,無論它們準備好要使用哪個代理,它們似乎都以三個爲一組排隊。這意味着我們失去了我期望的並行性,如果一個代理程序的三個以上的版本同時運行,因爲它們將佔用整個隊列。

有沒有辦法確保一旦自己的代理程序變得可用,構建就會排隊等候,這樣我們就可以擁有儘可能多的並行構建?

+0

」他們似乎排隊三個小組,無論他們準備去哪個代理。「 3組?你能詳細解釋一下嗎?我沒有抓住它。 – Isaiah4110

+0

當連續構建被觸發時,所有東西都會排隊。由於有三個代理,所以構建一次啓動三個,但如果他們需要的代理正在使用中,則會阻止等待代理。 因此,例如,三個發佈版本和一個生產版本運行。所有三個發佈版本都開始啓動,但第二個版本正在等待發布代理完成。同時,生產代理正在等待,無事可做。 –

+0

所以這是你的問題,據我所知 - 如果3個數據庫或Prod或Release版本一次排隊,它應該並行發生(使用PROD/Release構建代理),而不是等待數據庫構建代理程序是免費的? ?? 我的問題: 1.您是否將構建映射到構建代理,如果是這樣(標記??)? – Isaiah4110

回答

1

使用TFS 2010默認構建定義,您不能選擇構建代理但只能構建控制器,除非您已對其進行了自定義。理想情況下,您應該有一個構建控制器,其中有多個構建代理。在構建定義中,您只需選擇控制器名稱,然後構建控制器將構建推送到當時免費的代理。您還可以使用標記來確保構建僅在特定的構建代理上運行。 「