Definition av pool.demands

Krav (för en privat pool).

Definitioner som refererar till den här definitionen: pool

Implementeringar

Genomförande Beskrivning
krav: sträng Ange ett krav för en privat pool.
krav: stränglista Ange en lista över krav för en privat pool.

Anmärkningar

Använd kraven för att se till att de funktioner som dina pipelinebehov finns på de agenter som kör den. Krav hävdas automatiskt av uppgifter eller manuellt av dig.

Anmärkning

Krav och funktioner är utformade för användning med lokalt installerade agenter så att jobb kan matchas med en agent som uppfyller kraven för jobbet. När du använder Microsoft-värdbaserade agenter väljer du en avbildning för agenten som matchar kraven för jobbet, så även om det är möjligt att lägga till funktioner i en Microsoft-värdbaserad agent behöver du inte använda funktioner med Microsoft-värdbaserade agenter.

Du kan söka efter förekomsten av en funktion (finns åtgärd) eller så kan du söka efter en specifik sträng i en funktion (lika med-åtgärd). Att kontrollera om det finns en funktion (finns) och söka efter en specifik sträng i en funktion (lika med) är de enda två åtgärder som stöds för krav.

Uppgiftskrav

Vissa uppgifter körs inte om inte ett eller flera krav uppfylls av agenten. Visual Studio Build-uppgiften kräver till exempel att msbuild och visualstudio installeras på agenten.

Manuellt angivna agentkrav

Du kan behöva använda lokalt installerade agenter med särskilda funktioner. Din pipeline kan till exempel kräva SpecialSoftware på agenter i Default poolen. Eller om du har flera agenter med olika operativsystem i samma pool kan du ha en pipeline som kräver en Linux-agent.

Åtgärden finns

Åtgärden finns söker efter förekomsten av en funktion med det specifika namnet. Jämförelsen är inte skiftlägeskänslig.

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

Lika med åtgärden

Åtgärden är lika med kontrollerar om det finns en funktion, och om den finns kontrollerar den dess värde med det angivna värdet. Om funktionen inte finns eller om värdena inte matchar utvärderas åtgärden till false. Jämförelserna är inte skiftlägeskänsliga.

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

Agentvariabler som systemfunktioner

Lokalt installerade agenter har följande systemfunktioner med liknande namn som agentvariabler, men de är inte variabler och kräver inte variabelsyntax vid sökning efter finns eller är lika med på begäran.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (endast Windows-agenter)

Agentkapabilitetsskanning

När agentprogramvaran startar skannar den efter följande programvara och verktyg och registrerar motsvarande funktioner.

Tip

När du har installerat ny programvara på en lokalt installerad agent måste du starta om agenten för att den nya funktionen ska visas. Mer information finns i Starta om Windows-agenten, Starta om Linux-agenten och Starta om Mac-agenten.

På Windows-agenter använder agenten följande PowerShell-skript för att skanna efter verktyg och programvara, och registrerar motsvarande funktioner. Dessa skript är en del av agentens open-source-programvara och finns i mappen /src/Misc/layoutbin/powershell.

Följande tabell genererades av Copilot. Copilot drivs av AI, så överraskningar och misstag är möjliga. För mer information, se Vanliga frågor om allmänt bruk av Copilot.

Verktygsskanningsskript Kapaciteter
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} (för version 9 och senare)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (för version 9 och senare)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (för version 9 och senare)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (för version 9 och senare)
jdk

Upptäckta JDK-distributioner inkluderar Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation och 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

krav: sträng

Ange ett krav för en privat pool.

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

demands sträng.

Ange ett krav för en privat pool.

Exempel

Om du vill lägga till en enda begäran i yaml-bygg-pipelinen lägger du till demands: raden i avsnittet pool.

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

krav: stränglista

Ange en lista över krav för en privat pool.

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

Listtyper

Typ Beskrivning
snöre Ange en lista över krav för en privat pool.

Exempel

Om du vill ange flera krav lägger du till en per rad.

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

Se även