definição pool.demands

Exigências (para uma piscina privada).

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

Implementações

Execução Descrição
demandas: string Especifique uma demanda para um pool privado.
demandas: lista de cadeias de caracteres Especifique uma lista de demandas para um pool privado.

Observações

Use demandas para garantir que os recursos de que seu pipeline precisa estejam presentes nos agentes que o executam. As demandas são respondidas automaticamente por tarefas ou manualmente por você.

Observação

As exigências e capacidades são projetadas para uso com agentes autoalojados, para que as tarefas possam ser atribuídas a um agente que atenda aos requisitos da tarefa. 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, não é necessário usar recursos com agentes hospedados pela Microsoft.

Você pode verificar a presença de uma capacidade (operação Existe) ou pode verificar uma cadeia de caracteres específica em uma capacidade (operação Equals). Verificar a existência de uma capacidade (existe) e verificar uma cadeia de caracteres específica em uma capacidade (igual) são as duas únicas operações suportadas para demandas.

Exigências de tarefas

Algumas tarefas não serão executadas a menos que uma ou mais demandas sejam atendidas pelo agente. Por exemplo, a tarefa Visual Studio Build exige isso msbuild e visualstudio são instaladas 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 Linux.

Existe operação

A operação existente verifica a presença de um recurso 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

Igual a operação

A operação igual verifica a existência de um recurso e, se presente, verifica seu valor com o valor especificado. Se a capacidade 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 recursos do sistema

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

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

Varredura de capacidades de agentes

Quando o software do agente inicia, procura os seguintes softwares e ferramentas e regista as capacidades correspondentes.

Tip

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

Nos agentes Windows, o agente utiliza os seguintes scripts PowerShell para procurar ferramentas e software, e regista as capacidades correspondentes. Estes scripts fazem parte do software open source agente e estão localizados na pasta /src/Misc/layoutbin/powershell.

A tabela seguinte foi gerada pelo Copilot. O Copilot é alimentado por IA, por isso surpresas e erros são possíveis. Para mais informações, consulte Perguntas frequentes sobre o uso geral do Copilot.

Script de varrimento 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

As distribuições JDK detetadas 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: string

Especifique uma demanda para um pool privado.

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

demands fio.

Especifique uma demanda para um pool privado.

Exemplos

Para adicionar uma única demanda ao seu pipeline de construção 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 (de caracteres) 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

Ver também