definición pool.demand

Demandas (para un grupo privado).

Definiciones que hacen referencia a esta definición: grupo

Implementaciones

Implementación Descripción
demand: string Especifique una demanda para un grupo privado.
demand: lista de cadenas Especifique una lista de demandas para un grupo privado.

Observaciones

Use demandas para asegurarse de que las funcionalidades que necesita la canalización están presentes en los agentes que lo ejecutan. Las tareas o manualmente realizan la aserción automática de las demandas.

Nota:

Las demandas y funcionalidades están diseñadas para su uso con agentes autohospedados para que los trabajos puedan coincidir con un agente que cumpla los requisitos del trabajo. Al usar agentes hospedados por Microsoft, seleccione una imagen para el agente que coincida con los requisitos del trabajo, por lo que, aunque es posible agregar funcionalidades a un agente hospedado por Microsoft, no es necesario usar funcionalidades con agentes hospedados por Microsoft.

Puede comprobar la presencia de una funcionalidad (operación Exists) o puede comprobar si hay una cadena específica en una funcionalidad (operación Equals). La comprobación de la existencia de una funcionalidad (existe) y la comprobación de una cadena específica en una funcionalidad (igual a) son las dos únicas operaciones admitidas para las demandas.

Demandas de tareas

Algunas tareas no se ejecutarán a menos que el agente cumpla una o varias demandas. Por ejemplo, la tarea Compilación de Visual Studio exige que msbuild y visualstudio estén instalados en el agente.

Demandas de agente especificadas manualmente

Es posible que tenga que usar agentes autohospedados con funcionalidades especiales. Por ejemplo, la canalización puede requerir SpecialSoftware en agentes del Default grupo. O bien, si tiene varios agentes con sistemas operativos diferentes en el mismo grupo, es posible que tenga una canalización que requiera un agente de Linux.

Operación Exists

La operación existe comprueba la presencia de una funcionalidad con el nombre específico. La comparación no distingue mayúsculas de minúsculas.

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

Operación equals

La operación igual comprueba la existencia de una funcionalidad y, si está presente, comprueba su valor con el valor especificado. Si la funcionalidad no está presente o los valores no coinciden, la operación se evalúa como false. Las comparaciones no distinguen mayúsculas de minúsculas.

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

Variables del agente como funcionalidades del sistema

Los agentes autohospedados tienen las siguientes funcionalidades del sistema con nombres similares a las variables de agente, pero no son variables y no requieren sintaxis de variable al comprobar si existe o es igual a una demanda.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (solo agentes de Windows)

Escaneo de capacidades de agentes

Cuando el software agente se inicia, escanea el siguiente software y herramientas y registra las capacidades correspondientes.

Sugerencia

Después de instalar nuevo software en un agente autohospedado, debe reiniciar el agente para que aparezca la nueva funcionalidad. Para más información, consulte Reiniciar agente de Windows, Reiniciar agente de Linux y Reiniciar agente de Mac.

En los agentes de Windows, el agente utiliza los siguientes scripts PowerShell para escanear herramientas y software, y registra las capacidades correspondientes. Estos scripts forman parte del software código abierto agente y se encuentran en la carpeta /src/Misc/layoutbin/powershell.

La siguiente tabla fue generada por Copilot. Copilot funciona con IA, por lo que es posible que se produzcan sorpresas y errores. Para obtener más información, consulte las preguntas frecuentes sobre el uso general de Copilot.

Script de escaneo de herramientas 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 las versiones 9 y posteriores)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (para las versiones 9 y posteriores)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (para las versiones 9 y posteriores)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (para las versiones 9 y posteriores)
jdk

Las distribuciones JDK detectadas incluyen 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

demand: string

Especifique una demanda para un grupo privado.

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

demands cadena.

Especifique una demanda para un grupo privado.

Ejemplos

Para agregar una sola demanda a la canalización de compilación de YAML, agregue la línea demands: a la sección pool.

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

demand: lista de cadenas

Especifique una lista de demandas para un grupo privado.

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

Tipos de lista

Tipo Descripción
cuerda / cadena Especifique una lista de demandas para un grupo privado.

Ejemplos

Para especificar varias demandas, agregue una por línea.

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

Consulte también