Определение pool.demands

Требования (для частного пула).

Определения, ссылающиеся на это определение: пул

Реализации

Внедрение Описание
запросы: строка Укажите спрос на частный пул.
запросы: строковый список Укажите список требований для частного пула.

Замечания

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

Замечание

Требования и возможности предназначены для использования с самостоятельно размещенными агентами, чтобы задания можно было сопоставить с агентом, который соответствует их требованиям. При использовании агентов, размещенных Корпорацией Майкрософт, вы выбираете образ агента, который соответствует требованиям задания, поэтому, хотя это возможно, чтобы добавить возможности в размещенный корпорацией Майкрософт агент, вам не нужно использовать возможности с размещенными корпорацией Майкрософт агентами.

Вы можете проверить наличие возможности (существует операция) или проверить определенную строку в возможности (операция Equals). Проверка наличия возможности (существует) и проверка определенной строки в возможности (равно) являются единственными двумя поддерживаемыми операциями по требованию.

Требования к задачам

Некоторые задачи не будут выполняться, если один или несколько требований не выполняются агентом. Например, задача сборки Visual Studio требует msbuild установки и visualstudio установки в агенте.

Запросы агента вручную

Возможно, вам потребуется использовать автономные агенты с особыми возможностями. Например, для конвейера может потребоваться SpecialSoftware для агентов в пуле Default . Или, если у вас несколько агентов с разными операционными системами в одном пуле, у вас может быть конвейер, требующий агента Linux.

Операция "Существует"

Существует операция проверяет наличие возможности с определенным именем. Сравнение не учитывает регистр.

pool:
  name: MyPool
  demands: myCustomCapability # exists check for myCustomCapability

Операция "Равно"

Операция равенства проверяет наличие возможности, а если она присутствует, проверяет его значение с указанным значением. Если возможность отсутствует или значения не соответствуют, операция оценивается как false. Сравнения не учитывает регистр.

pool:
  name: MyPool
  demands: Agent.Version -equals 2.144.0 # equals check for Agent.Version 2.144.0

Переменные агента в качестве системных возможностей

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

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (только агенты Windows)

Сканирование возможностей агента

Когда программное обеспечение агента запускается, оно сканирует следующее программное обеспечение и инструменты и регистрирует соответствующие возможности.

Tip

После установки нового программного обеспечения на локальном агенте необходимо перезапустить агент для отображения новой возможности. Дополнительные сведения см. в разделе "Перезапуск агента Windows", "Перезапустить агент Linux" и "Перезапустить агент Mac".

В агентах Windows агент использует следующие скрипты PowerShell для поиска инструментов и программного обеспечения, а также регистрирует соответствующие возможности. Эти скрипты являются частью программного обеспечения агента открытый код и размещены в папке /src/Misc/layoutbin/powershell.

Следующая таблица была создана Copilot. Copilot работает на основе ИИ, поэтому возможны сюрпризы и ошибки. Дополнительные сведения см. в статье Copilot часто задаваемые вопросы об использовании.

Скрипт сканирования инструментов Возможности
Add-AndroidSdkCapabilities.ps1 AndroidSDK
AndroidSDK_{version}
Add-AntCapabilities.ps1 ant
Add-ApplicationCapabilities.ps1 npm
gulp
node.js
bower
grunt
svn
cmake
docker
Add-AzureGuestAgentCapabilities.ps1 AzureGuestAgent
Add-AzurePowerShellCapabilities.ps1 AzurePS
Add-ChefCapabilities.ps1 Chef
KnifeReporting
Add-DotNetFrameworkCapabilities.ps1 DotNetFramework_{major.minor}
DotNetFramework_{major.minor}_x64
DotNetFramework
Add-JavaCapabilities.ps1 java_6
java_7
java_8
java_{major} (для версий 9 и последнее)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (для версий 9 и последнее)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (для версий 9 и последнее)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (для версий 9 и последнее)
jdk

Обнаруженные дистрибутивы JDK включают Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation и IBM Semeru.
Add-MavenCapabilities.ps1 maven
Add-MSBuildCapabilities.ps1 MSBuild_2.0
MSBuild_3.5
MSBuild_4.0
MSBuild_12.0
MSBuild_14.0
MSBuild_15.0
MSBuild_16.0
MSBuild_17.0
MSBuild_18.0
MSBuild
MSBuild_2.0_x64
MSBuild_3.5_x64
MSBuild_4.0_x64
MSBuild_12.0_x64
MSBuild_14.0_x64
MSBuild_15.0_x64
MSBuild_16.0_x64
MSBuild_17.0_x64
MSBuild_18.0_x64
MSBuild_x64
Add-PowerShellCapabilities.ps1 PowerShell
Add-ScvmmAdminConsoleCapabilities.ps1 SCVMMAdminConsole
Add-SqlPackageCapabilities.ps1 SqlPackage
Add-VisualStudioCapabilities.ps1 VisualStudio_10.0
VisualStudio_IDE_10.0
VisualStudio_11.0
VisualStudio_IDE_11.0
VisualStudio_12.0
VisualStudio_IDE_12.0
VSTest_12.0
VisualStudio_14.0
VisualStudio_IDE_14.0
VSTest_14.0
VisualStudio_15.0
VisualStudio_IDE_15.0
VSTest_15.0
VisualStudio_16.0
VisualStudio_IDE_16.0
VSTest_16.0
VisualStudio_17.0
VisualStudio_IDE_17.0
VSTest_17.0
VisualStudio_18.0
VisualStudio_IDE_18.0
VSTest_18.0
VisualStudio
VisualStudio_IDE
VSTest
Add-WindowsKitCapabilities.ps1 WindowsKit_{major.minor}
WindowsKit
Add-WindowsSdkCapabilities.ps1 WindowsSdk_{major.minor}
WindowsSdk_{major.minor}_{toolName}
WindowsSdk_{major.minor}_{toolName}_x64
WindowsSdk
Add-XamarinAndroidCapabilities.ps1 Xamarin.Android

запросы: строка

Укажите спрос на частный пул.

demands: string # Specify a demand for a private pool.

строка demands.

Укажите спрос на частный пул.

Примеры

Чтобы добавить один запрос к конвейеру сборки YAML, добавьте строку demands: в раздел pool.

pool:
  name: Default
  demands: SpecialSoftware # exists check for SpecialSoftware

запросы: строковый список

Укажите список требований для частного пула.

demands: [ string ] # Specify a list of demands for a private pool.

Типы списков

Тип Описание
струна Укажите список требований для частного пула.

Примеры

Чтобы указать несколько требований, добавьте один на строку.

pool:
  name: MyPool
  demands:
  - myCustomCapability   # exists check for myCustomCapability
  - Agent.Version -equals 2.144.0 # equals check for Agent.Version 2.144.0

См. также