TFS 2010:选择了错误的构建代理

时间:2012-02-20 14:31:48

标签: tfs tfs2010 team-build build-agent

我在一个Controller上有两个配置的构建代理:

  1. 默认代理
  2. 默认代理商1
  3. 我使用以下代理设置定义了构建定义:

    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:
    

    我在GetAgent活动之后创建了一些 BuildInformation活动

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

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

      因此AgentSettings.Name参数设置为“默认代理”,但矛盾的是使用“默认代理1”。

      工作流: enter image description here

      奇怪的是,有时会选择正确的Bui​​ld Agent。

      这是一个错误吗?我的错是什么?

      如果有人能够重现这种行为,那就太好了。

      编辑:

      我创建了错误反馈:https://connect.microsoft.com/VisualStudio/feedback/details/725885/tfs-2010-wrong-build-agent-is-choosen

2 个答案:

答案 0 :(得分:2)

如果您使用AgentScope活动,这肯定听起来像个错误。您是否登录了Microsoft Connect网站?

请确保您使用AgentScope活动而不是GetBuildAgent活动。从你的问题我无法分辨你指的是哪一个。 AgentScope活动是根据您指定的代理预留规范参数详细信息实际保留代理的活动。

答案 1 :(得分:0)

当我们提供名称过滤器=默认代理时。它需要任何可用的代理并继续使用该代理。 如果要选择任何特定代理,只需在构建代理选择下面使用的特定构建代理后立即使用简单的分配活动。

agentsettings.name =“代理商名称”。

这将允许您选择您希望它执行任务的构建代理。

OR

您可以在构建代理中使用标记的功能,并使用 agentsettings.hastags