4

我在一个控制器上配置了两个构建代理:

  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:

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

  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”。

工作流程: 在此处输入图像描述

奇怪的是,有时会选择正确的构建代理。

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

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

编辑:

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

4

2 回答 2

2

如果您正在使用该AgentScope活动,这绝对听起来像一个错误。您是否已登录Microsoft Connect站点?

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

于 2012-02-20T19:27:57.277 回答
0

当我们提供Name Filter = Default agent时。它采用任何可用的代理并继续使用该代理。如果您想选择任何特定代理,您可以在让构建代理选择特定构建代理之后使用简单的分配活动,如下所示。

agentsettings.name=“代理名称”。

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

或者

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

于 2014-02-07T07:04:29.313 回答