Pool.Demands definitie

Eisen (voor een privépool).

Definities die verwijzen naar deze definitie: pool

Implementaties

Implementatie Beschrijving
eisen: tekenreeks Geef een vraag naar een privépool op.
eisen: tekenreekslijst Geef een lijst op met de vereisten voor een privépool.

Opmerkingen

Gebruik de vereisten om ervoor te zorgen dat de mogelijkheden die uw pijplijn nodig heeft aanwezig zijn op de agents die deze uitvoeren. Eisen worden automatisch door taken of handmatig door u gesteld.

Opmerking

Eisen en mogelijkheden zijn ontworpen voor gebruik met zelfgehoste agents, zodat taken kunnen worden gekoppeld aan een agent die voldoet aan de vereisten van de taak. Wanneer u door Microsoft gehoste agents gebruikt, selecteert u een installatiekopie voor de agent die voldoet aan de vereisten van de taak, dus hoewel het mogelijk is om mogelijkheden toe te voegen aan een door Microsoft gehoste agent, hoeft u geen mogelijkheden te gebruiken met door Microsoft gehoste agents.

U kunt controleren op de aanwezigheid van een mogelijkheid (bestaat bewerking) of u kunt controleren op een specifieke tekenreeks in een mogelijkheid (is gelijk aan bewerking). Controleren op het bestaan van een mogelijkheid (bestaat) en controleren op een specifieke tekenreeks in een mogelijkheid (gelijk aan) zijn de enige twee ondersteunde bewerkingen voor de vereisten.

Taakvereisten

Sommige taken worden niet uitgevoerd, tenzij aan een of meer eisen van de agent wordt voldaan. De Visual Studio Build-taak vereist bijvoorbeeld dat msbuild en visualstudio worden geïnstalleerd op de agent.

Handmatig ingevoerde agentvereisten

Mogelijk moet u zelf-hostende agents met speciale mogelijkheden gebruiken. Uw pijplijn kan bijvoorbeeld SpecialSoftware vereisen voor agents in de Default pool. Als u meerdere agents met verschillende besturingssystemen in dezelfde pool hebt, hebt u mogelijk een pijplijn waarvoor een Linux-agent is vereist.

Bestaat bewerking

De bestaat-bewerking controleert op de aanwezigheid van een mogelijkheid met de specifieke naam. De vergelijking is niet hoofdlettergevoelig.

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

Is gelijk aan bewerking

De gelijke bewerking controleert op het bestaan van een mogelijkheid, en indien aanwezig, controleert de waarde met de opgegeven waarde. Als de mogelijkheid niet aanwezig is of als de waarden niet overeenkomen, resulteert de bewerking in onwaar. De vergelijkingen zijn niet hoofdlettergevoelig.

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

Agentvariabelen als systeemmogelijkheden

Zelf-hostende agents hebben de volgende systeemmogelijkheden met vergelijkbare namen als agentvariabelen, maar ze zijn geen variabelen en vereisen geen syntaxis van variabelen wanneer wordt gecontroleerd op bestaan of gelijk is aan een vraag.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (alleen Windows-agents)

Agentcapaciteitsscanning

Wanneer de agentsoftware start, scant deze naar de volgende software en tools en registreert de bijbehorende mogelijkheden.

Tip

Nadat u nieuwe software op een zelfgehoste agent hebt geïnstalleerd, moet u de agent opnieuw starten om de nieuwe functie beschikbaar te maken. Zie Windows-agent opnieuw opstarten, Linux-agent opnieuw opstarten en Mac-agent opnieuw opstarten voor meer informatie.

Op Windows-agenten gebruikt de agent de volgende PowerShell-scripts om te scannen naar tools en software, en registreert de bijbehorende mogelijkheden. Deze scripts maken deel uit van de agent open source-software en bevinden zich in de map /src/Misc/layoutbin/powershell.

De volgende tabel is gegenereerd door Copilot. Copilot wordt aangedreven door AI, dus verrassingen en fouten zijn mogelijk. Zie voor meer informatie de veelgestelde vragen over algemeen gebruik van Copilot.

Tool scanning script Mogelijkheden
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} (voor versies 9 en later)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (voor versies 9 en later)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (voor versies 9 en later)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (voor versies 9 en later)
jdk

Gedetecteerde JDK-distributies zijn onder andere Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation en 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

eisen: tekenreeks

Geef een vraag naar een privépool op.

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

demands tekenreeks.

Geef een vraag naar een privépool op.

Voorbeelden

Als u één vraag wilt toevoegen aan uw YAML-buildpijplijn, voegt u de demands: regel toe aan de sectie pool.

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

eisen: tekenreekslijst

Geef een lijst op met de vereisten voor een privépool.

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

Lijsttypen

Typologie Beschrijving
touw Geef een lijst op met de vereisten voor een privépool.

Voorbeelden

Als u meerdere vereisten wilt opgeven, voegt u één per regel toe.

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

Zie ook