Definição de pool.demands

Demandas (para um pool privado).

Definições que fazem referência a essa definição: pool

Implementações

Implementação Descrição
demandas: cadeia de caracteres Especifique uma demanda por um pool privado.
demandas: lista de cadeias de caracteres Especifique uma lista de demandas para um pool privado.

Observações

Use as demandas para garantir que as funcionalidades que seu pipeline precisa estejam presentes nos agentes que o executam. As demandas são declaradas automaticamente por tarefas ou manualmente por você.

Observação

As demandas e os recursos são criados para serem usados com agentes auto-hospedados para que os trabalhos possam ser correspondidos com um agente que atenda aos requisitos do trabalho. Ao usar agentes hospedados pela Microsoft, você seleciona uma imagem para o agente que corresponde aos requisitos do trabalho, portanto, embora seja possível adicionar recursos a um agente hospedado pela Microsoft, você não precisa usar recursos com agentes hospedados pela Microsoft.

Você pode verificar a presença de uma funcionalidade (operação Exists) ou verificar se há uma cadeia de caracteres específica em uma funcionalidade (operação Equals). Verificar a existência de uma funcionalidade (existe) e verificar uma cadeia de caracteres específica em uma funcionalidade (igual) são as duas únicas operações com suporte para demandas.

Demandas de tarefa

Algumas tarefas não serão executadas a menos que uma ou mais demandas sejam atendidas pelo agente. Por exemplo, a tarefa Build do Visual Studio exige isso msbuild e visualstudio está instalada no agente.

Demandas de agente inseridas manualmente

Talvez seja necessário usar agentes auto-hospedados com recursos especiais. Por exemplo, seu pipeline pode exigir SpecialSoftware em agentes no Default pool. Ou, se você tiver vários agentes com sistemas operacionais diferentes no mesmo pool, poderá ter um pipeline que exija um agente do Linux.

Operação Exists

A operação existe verifica a presença de uma funcionalidade com o nome específico. A comparação não diferencia maiúsculas de minúsculas.

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

Operação de igual

A operação de igual verifica a existência de uma funcionalidade e, se presente, verifica seu valor com o valor especificado. Se a funcionalidade não estiver presente ou os valores não corresponderem, a operação será avaliada como false. As comparações não diferenciam maiúsculas de minúsculas.

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

Variáveis de agente como funcionalidades do sistema

Agentes auto-hospedados têm os seguintes recursos do sistema com nomes semelhantes a variáveis de agente, mas não são variáveis e não exigem sintaxe variável ao verificar se existe ou é igual a uma demanda.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (somente agentes do Windows)

Escaneamento de capacidade de agentes

Quando o software agente inicia, ele escaneia os seguintes softwares e ferramentas e registra as capacidades correspondentes.

Gorjeta

Depois de instalar um novo software em um agente auto-hospedado, você deve reiniciar o agente para que a nova funcionalidade apareça. Para obter mais informações, confira Reiniciar agente do Windows, Reiniciar agente do Linux e Reiniciar agente do Mac.

Nos agentes Windows, o agente utiliza os seguintes scripts PowerShell para escanear ferramentas e softwares, e registra as capacidades correspondentes. Esses scripts fazem parte do software código aberto do agente e estão localizados na pasta /src/Misc/layoutbin/powershell.

A tabela a seguir foi gerada pelo Copilot. Copilot é alimentado pela IA, portanto, surpresas e erros são possíveis. Para mais informações, consulte as perguntas frequentes sobre o uso geral do Copilot.

Script de varredura de ferramentas Capabilities
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} (para versões 9 e posteriores)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (para versões 9 e posteriores)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (para versões 9 e posteriores)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (para versões 9 e posteriores)
jdk

Distribuições JDK detectadas incluem Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation e 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

demandas: cadeia de caracteres

Especifique uma demanda por um pool privado.

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

demands cadeia de caracteres.

Especifique uma demanda por um pool privado.

Exemplos

Para adicionar uma única demanda ao pipeline de build do YAML, adicione a linha demands: à seção pool.

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

demandas: lista de cadeias de caracteres

Especifique uma lista de demandas para um pool privado.

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

Tipos de lista

Tipo Descrição
cadeia Especifique uma lista de demandas para um pool privado.

Exemplos

Para especificar várias demandas, adicione uma por linha.

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

Consulte também