2017-07-31 135 views
0

我在一個代理池下的兩個服務器中配置了10個構建代理。無論何時使用前四個代理,所請求的構建都在前四個代理的隊列中,但還有另外六個代理可用,並且構建不會排隊等待這些代理。已經接近6個月Agent-10甚至沒有處理過構建5到10的其他代理很難使用。爲什麼是這種現象?我們怎樣才能公平地利用所有的代理?TFS 2017:代理不選擇新的構建請求

回答

0

運行構建時,TFS將自動選擇池中的可用構建代理。這更像是一個有條件的隨機選擇。目前尚無法優先構建代理。同時也出現瞭如下相關UserVoice的:

TFS 2015年構建vNext劑優先

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/9213534-tfs-2015-build-vnext-agent-prioritization

作爲一種變通方法,你可以指定vNext生成代理建立。

您可以將用戶能力添加到特定的構建代理,然後在構建定義中,您只需將該功能作爲需求(常規選項卡)即可。

+0

我有多個團隊正在開展工作,因此代理不能綁定到任何特定的版本。是的,這種解決方法可能會有幫助 – samdinesh

0

看起來這個版本首先在'最古老'的代理上排隊。因此,如果代理10是您創建的最後一個代理,則只有在前9個代理正在使用時纔會使用代理10,前提是它們都具有相同的功能。

它似乎不是隨機選擇的代理,而是基於代理創建的順序。具有諷刺意味的是,如果你添加一個新的強大的構建服務器,這些代理將位於隊列的最底部。 上面的用戶語音建議是讓代理優先。

此時的解決方法似乎是刪除所有(或某些)代理,並按您希望它們使用的順序重新創建它們。這仍然意味着最後使用的代理將少用,但至少可以影響代理的分佈。

我們也遇到了這個問題,我們有6個構建服務器,每個構建器有3個代理,構建不公平。我也不想爲每個定義分配一個代理,但我想我們將不得不對它進行拼圖。

希望有所幫助。