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

Рабочий процесс: введите здесь описание изображения

Странно то, что иногда выбирается правильный Build Agent.

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

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

РЕДАКТИРОВАТЬ:

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


person Rookian    schedule 20.02.2012    source источник


Ответы (2)


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

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

person Ed Blankenship    schedule 20.02.2012
comment
Я обновил свой вопрос. Я использую как AgentScope, так и GetBuildAgent. - person Rookian; 21.02.2012

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

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

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

OR

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

person Prakash    schedule 07.02.2014