2012-02-20 91 views
4

我有一個控制器2個配置生成代理:TFS 2010:被選擇錯誤的生成代理

  1. 缺省代理
  2. 默認劑1

我所定義的生成定義與以下代理設置:

Maximum Agent Execution Time:  00:00:00 
Maximum Agent Reservation Wait Time: 04:00:00 
Name Filter:       Default Agent 
Tag Comparison Operator:    MatchExactly 
Tags Filter: 

我創建了一些BuildInformation活動之後的GetAgent活動。

  1. String.Format("Build Agentname: {0}", BuildAgent.Name)
  2. String.Format("AgentSettingsName: {0}; AgentSettingsTags: {1}", AgentSettings.Name, String.Join(",", AgentSettings.Tags))

輸出爲:

AgentScope (reserved build agent Default Agent1) 
Build Agentname: Default Agent1 
AgentSettingsName: Default Agent; AgentSettingsTags: 

所以AgentSettings.Name參數設置爲 「默認代理」,但矛盾的是 「默認代理1」 字。

工作流程: enter image description here

奇怪的是,有時正確生成代理選擇。

這是一個錯誤?我的錯誤是什麼?

如果有人能重現這種行爲,那將會很好。

編輯:

我已經創建了一個錯誤反饋:https://connect.microsoft.com/VisualStudio/feedback/details/725885/tfs-2010-wrong-build-agent-is-choosen

回答

2

這絕對,如果你使用的是AgentScope活動就像一個錯誤的聲音。您是否登錄了Microsoft Connect網站?

確保您使用的是AgentScope活動,而不是GetBuildAgent活動。我無法從你的問題中知道你指的是哪一個。 AgentScope活動是根據您指定的代理預留規格參數詳細信息實際預留代理的活動。

+0

我已更新我的問題。我使用AgentScope和GetBuildAgent。 – Rookian 2012-02-21 09:23:07

0

當我們提供名稱過濾器=默認代理。無論哪個代理商都可以使用並繼續使用該代理商。 如果您想選擇任何特定的代理程序,只需在獲取構建代理程序以選擇以下使用的特定構建代理程序之後,即可使用簡單的分配活動。

agentsettings.name =「代理名稱」。

這將讓您選擇您希望它執行任務的構建代理。

OR

您可以使用標籤在生成代理的功能和使用agentsettings.hastags