definice pool.demands

Požadavky (pro soukromý fond)

Definice, které odkazují na tuto definici: fond

Implementace

Implementace Popis
požadavky: provázek Zadejte poptávku po privátním fondu.
požadavky: seznam řetězců Zadejte seznam požadavků pro soukromý fond.

Poznámky

Pomocí požadavků se ujistěte, že jsou na agentech , kteří ho spouští, k dispozici možnosti, které váš kanál potřebuje. Požadavky se uplatňují automaticky podle úkolů nebo ručně.

Poznámka:

Požadavky a schopnosti jsou navržené pro použití se samohostovanými agenty, aby bylo možné úlohy přiřazovat agentovi, který splňuje požadavky dané úlohy. Při použití agentů hostovaných Microsoftem vyberete image agenta, která odpovídá požadavkům úlohy, takže i když je možné přidat funkce do agenta hostovaného Microsoftem, nemusíte používat funkce s agenty hostovanými Microsoftem.

Můžete zkontrolovat přítomnost funkce (existuje operace) nebo můžete zkontrolovat konkrétní řetězec ve funkci (operace Rovná se). Kontrola existence funkce (existuje) a kontrola konkrétního řetězce ve schopnosti (rovná se) jsou jedinými dvěma podporovanými operacemi pro požadavky.

Požadavky na úkoly

Některé úlohy se nespustí, pokud agent nesplní jeden nebo více požadavků. Například úloha sestavení sady Visual Studio vyžaduje, aby msbuild byla v agentu nainstalovaná a visualstudio nainstalována.

Ručně zadané požadavky agenta

Možná budete muset používat agenty v místním prostředí se speciálními funkcemi. Váš kanál může například vyžadovat SpecialSoftware u agentů ve Default fondu. Nebo pokud máte více agentů s různými operačními systémy ve stejném fondu, můžete mít kanál, který vyžaduje agenta Linuxu.

Operace existuje.

Existuje operace kontroluje přítomnost funkce s konkrétním názvem. Porovnání nerozlišuje malá a velká písmena.

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

Operace Rovná se

Operace rovná se kontroluje existenci funkce a pokud je k dispozici, zkontroluje její hodnotu se zadanou hodnotou. Pokud funkce není k dispozici nebo se hodnoty neshodují, operace se vyhodnotí jako nepravda. Porovnání nerozlišují malá a velká písmena.

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

Proměnné agenta jako systémové funkce

Agenti v místním prostředí mají následující systémové funkce s podobnými názvy jako proměnné agentů, ale nejsou to proměnné a nevyžadují syntaxi proměnných při kontrole existence nebo rovná se v poptávce.

  • Agent.Name
  • Agent.Version
  • Agent.ComputerName
  • Agent.HomeDirectory
  • Agent.OS
  • Agent.OSArchitecture
  • Agent.OSVersion (pouze agenti Windows)

Skenovaní schopností agenta

Když se agent software spustí, prohledá následující software a nástroje a registruje odpovídající schopnosti.

Tip

Po instalaci nového softwaru na agenta v místním prostředí je nutné restartovat agenta, aby se nová funkce zobrazila. Další informace najdete v tématu Restartování agenta systému Windows, restartování agenta Linuxu a restartování agenta systému Mac.

Na agentech Windows agent používá následující PowerShell skripty k vyhledávání nástrojů a softwaru a registruje odpovídající schopnosti. Tyto skripty jsou součástí agentního open source softwaru a nacházejí se ve složce /src/Misc/layoutbin/powershell.

Následující tabulku vytvořil Copilot. Copilot využívá AI, takže překvapení a chyby jsou možné. Další informace najdete v tématu Copilot nejčastější dotazy k obecnému použití.

Skript pro skenování nástrojů 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} (pro verze 9 a později)
java_6_x64
java_7_x64
java_8_x64
java_{major}_x64 (pro verze 9 a později)
java
jdk_6
jdk_7
jdk_8
jdk_{major} (pro verze 9 a později)
jdk_6_x64
jdk_7_x64
jdk_8_x64
jdk_{major}_x64 (pro verze 9 a později)
jdk

Mezi detekované distribuce JDK patří Oracle JavaSoft, AdoptOpenJDK, Eclipse Adoptium, Eclipse Foundation a 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

požadavky: provázek

Zadejte poptávku po privátním fondu.

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

demands řetězec.

Zadejte poptávku po privátním fondu.

Příklady

Pokud chcete do kanálu sestavení YAML přidat jednu poptávku, přidejte demands: řádek do pool oddílu.

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

požadavky: seznam řetězců

Zadejte seznam požadavků pro soukromý fond.

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

Typy seznamů

Typ Popis
řetězec Zadejte seznam požadavků pro soukromý fond.

Příklady

Pokud chcete zadat více požadavků, přidejte jeden na řádek.

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

Viz také