Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Требования (для частного пула).
Определения, ссылающиеся на это определение: пул
Реализации
| Внедрение | Описание |
|---|---|
| запросы: строка | Укажите спрос на частный пул. |
| запросы: строковый список | Укажите список требований для частного пула. |
Замечания
Используйте требования, чтобы убедиться, что возможности, необходимые для конвейера, присутствуют в агентах, выполняющих его. Запросы автоматически утверждаются задачами или вручную.
Замечание
Требования и возможности предназначены для использования с самостоятельно размещенными агентами, чтобы задания можно было сопоставить с агентом, который соответствует их требованиям. При использовании агентов, размещенных Корпорацией Майкрософт, вы выбираете образ агента, который соответствует требованиям задания, поэтому, хотя это возможно, чтобы добавить возможности в размещенный корпорацией Майкрософт агент, вам не нужно использовать возможности с размещенными корпорацией Майкрософт агентами.
Вы можете проверить наличие возможности (существует операция) или проверить определенную строку в возможности (операция 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 | AndroidSDKAndroidSDK_{version} |
| Add-AntCapabilities.ps1 | ant |
| Add-ApplicationCapabilities.ps1 | npmgulpnode.jsbowergruntsvncmakedocker |
| Add-AzureGuestAgentCapabilities.ps1 | AzureGuestAgent |
| Add-AzurePowerShellCapabilities.ps1 | AzurePS |
| Add-ChefCapabilities.ps1 | ChefKnifeReporting |
| Add-DotNetFrameworkCapabilities.ps1 | DotNetFramework_{major.minor}DotNetFramework_{major.minor}_x64DotNetFramework |
| Add-JavaCapabilities.ps1 | java_6java_7java_8java_{major} (для версий 9 и последнее)java_6_x64java_7_x64java_8_x64java_{major}_x64 (для версий 9 и последнее)javajdk_6jdk_7jdk_8jdk_{major} (для версий 9 и последнее)jdk_6_x64jdk_7_x64jdk_8_x64jdk_{major}_x64 (для версий 9 и последнее)jdkОбнаруженные дистрибутивы JDK включают Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation и IBM Semeru. |
| Add-MavenCapabilities.ps1 | maven |
| Add-MSBuildCapabilities.ps1 | MSBuild_2.0MSBuild_3.5MSBuild_4.0MSBuild_12.0MSBuild_14.0MSBuild_15.0MSBuild_16.0MSBuild_17.0MSBuild_18.0MSBuildMSBuild_2.0_x64MSBuild_3.5_x64MSBuild_4.0_x64MSBuild_12.0_x64MSBuild_14.0_x64MSBuild_15.0_x64MSBuild_16.0_x64MSBuild_17.0_x64MSBuild_18.0_x64MSBuild_x64 |
| Add-PowerShellCapabilities.ps1 | PowerShell |
| Add-ScvmmAdminConsoleCapabilities.ps1 | SCVMMAdminConsole |
| Add-SqlPackageCapabilities.ps1 | SqlPackage |
| Add-VisualStudioCapabilities.ps1 | VisualStudio_10.0VisualStudio_IDE_10.0VisualStudio_11.0VisualStudio_IDE_11.0VisualStudio_12.0VisualStudio_IDE_12.0VSTest_12.0VisualStudio_14.0VisualStudio_IDE_14.0VSTest_14.0VisualStudio_15.0VisualStudio_IDE_15.0VSTest_15.0VisualStudio_16.0VisualStudio_IDE_16.0VSTest_16.0VisualStudio_17.0VisualStudio_IDE_17.0VSTest_17.0VisualStudio_18.0VisualStudio_IDE_18.0VSTest_18.0VisualStudioVisualStudio_IDEVSTest |
| Add-WindowsKitCapabilities.ps1 | WindowsKit_{major.minor}WindowsKit |
| Add-WindowsSdkCapabilities.ps1 | WindowsSdk_{major.minor}WindowsSdk_{major.minor}_{toolName}WindowsSdk_{major.minor}_{toolName}_x64WindowsSdk |
| 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