TFS 2010: выбран неверный агент сборки - PullRequest
4 голосов
/ 20 февраля 2012

У меня есть два настроенных агента сборки на одном контроллере:

  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».

Workflow: enter image description here

Странно то, что иногда выбирают правильного агента сборки.

Это ошибка? В чем моя ошибка?

Было бы неплохо, если бы кто-то тоже мог воспроизвести это поведение.

EDIT:

Я создал сообщение об ошибке: https://connect.microsoft.com/VisualStudio/feedback/details/725885/tfs-2010-wrong-build-agent-is-choosen

Ответы [ 2 ]

2 голосов
/ 20 февраля 2012

Это определенно звучит как ошибка, если вы используете действие AgentScope. Вы вошли на сайт Microsoft Connect ?

Убедитесь, что вы используете действие AgentScope вместо действия GetBuildAgent . Я не мог сказать, на кого вы ссылались из вашего вопроса. Операция AgentScope - это та операция, которая фактически резервирует агента на основе указанных вами параметров параметров резервирования агента.

0 голосов
/ 07 февраля 2014

Когда мы предоставляем Имя фильтра = Агент по умолчанию . Требуется тот агент, который доступен, и продолжить работу с этим агентом. Если вы хотите выбрать какой-либо конкретный агент, вы можете использовать простое действие присваивания сразу после получения агента сборки, чтобы выбрать конкретный агент сборки, как показано ниже.

agentsettings.name = "Имя агента".

Это позволит вам выбрать того агента сборки, для которого вы хотели, чтобы он выполнял задачу.

ИЛИ

Вы можете использовать функциональность тегов в агенте сборки и использовать agentsettings.hastags .

...