Azure DevOps Agent Job автоматически выбирает пул: 'Hosted Ubuntu 1604' - PullRequest
0 голосов
/ 06 марта 2020

Я создал два задания агента. Один предназначен для Linux, а другой для windows. Первое задание агента инициировало правильную машину сборки, как указано в файле YAML. Но работа второго агента не работает, как ожидалось. Он автоматически выбирает «Hosted Ubuntu 1604».

YAML код

jobs:
 job: TestA
 timeoutInMinutes: 10
 pool: 'PoolA'

 job: TestB
 dependsOn: TestA
 condition: succeeded('TestA')
 timeoutInMinutes: 10
 pool:
 vmImages: 'windows-latest' 
 Name: 'PoolB'
 demands: 
   Agent.Name -equals 'XYZ'

1 Ответ

0 голосов
/ 09 марта 2020

В вашем YAML-скрипте один неверный синтаксис: Name. Здесь должно быть name. Кроме того, vmImages: 'windows-latest' предназначено для размещенных агентов, если вы выбираете здесь пул самоагентов, вам не следует настраивать vmImages здесь.

Ниже указан правильный формат:

jobs:
- job: TestA
  timeoutInMinutes: 10
  pool: 'pool-name'

- job: TestB
  dependsOn: TestA
  condition: succeeded('TestA')
  timeoutInMinutes: 10
  pool:
   name: 'pool-name'
   demands: 
   - Agent.Name -equals 'agent-name'

Кроме того, есть еще одна вещь, которую вам нужно знать.

Когда вы используете demand в YAML , наша система автоматически присоединит к ней еще одно требование: проверьте ее Agent.Version. Это старая проверка по умолчанию, которую мы сделали для скрипта YAML. Вы должны обратить на это внимание, так как это может привести к сбою в работе вашего конвейера.

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

...