Krav
Krav är ett sätt för pipelines att ange vilka funktioner som måste finnas i en agent för att Azure DevOps ska kunna skicka ett jobb från pipelinen till agenten. I Hanterade DevOps-pooler fungerar krav som ImageOverride precis som krav i Azure Pipelines, där ett pipelinejobb dirigeras till en specifik agent som har attribut som matchar efterfrågan, men vissa krav, som WorkFolder och Priority, kan användas för att konfigurera attribut på agenten. I den här artikeln beskrivs de krav som är tillgängliga i Hanterade DevOps-pooler och hur du använder dem.
WorkFolder
Standardarbetsmappen för agenter finns vanligtvis på D:\ -enheten för Windows eller /mnt för Linux och kan refereras i pipelinen med hjälp av den Agent.WorkFolder
fördefinierade variabeln. Du kan åsidosätta den här platsen för att ändra både enhets- och katalognamnet som användes när agenten startades genom att WorkFolder
ange efterfrågan i pipelinen. Om du har en tillståndskänslig pool med en agent som körs med en WorkFolder
som matchar din efterfrågan skickas pipelinen till agenten. Om du inte använder tillståndskänsliga pooler, eller om det inte finns någon agent som körs med den WorkFolder
, startas och konfigureras en ny agent för att använda den avsedda WorkFolder
. Den angivna katalogen skapas om den inte finns. Om sökvägens namn för WorkFolder
är ogiltigt används standardagentens arbetsmapp.
WorkFolder
Konfigurera efterfrågan i avsnittet i demands
pipelinen för att ange din agentarbetsmapp. Om du använder en ansluten datadisk och vill ha din agentarbetsmapp på disken använder WorkFolder
du och anger en mapp på datadisken som arbetskatalog för agenten.
pool:
name: fabrikam-managed-pool # Name of Managed DevOps Pool
demands:
- WorkFolder -equals c:\custom-work-folder # Windows agent example
# Use a folder like /user/local/custom-work-folder for Linux
# or /mnt/storage/sdc/custom-work-folder if you're using a data disk.
Prioritet
Priority
anger jobbets prioritet. Jobb med högre prioritet körs först. Giltiga värden är: High
, Medium
, Low
. Standardvärdet är Medium
.
Priority
Konfigurera efterfrågan i avsnittet i demands
din pipeline.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- Priority -equals Low
Jobb väljs för att köras från kön i prioritetsordning. Du har till exempel en pool som har en inställning för maximalt antal agenter på 10 och en pipeline som konfigurerats för att använda den här poolen. Poolen kör redan 10 pipelines och ytterligare 20 är i kö. Om du har en prioritetspipeline att köra, till exempel för att skicka ut en snabbkorrigering, skulle den normalt köras efter att de 10 pipelines som körs och de 20 köade pipelinesna har slutförts. Om du anger hög prioritet när du köar snabbkorrigeringspipelinen får den en agent och körs före de 20 tidigare köade pipelinesna.
Om flera jobb placeras i kö samtidigt är det möjligt att ett jobb med lägre prioritet körs före ett jobb med högre prioritet.
För en enda pipeline med flera jobb:
- Om din pipeline har beroenden som definierar sekventiella jobb körs sekventiella jobb i den ordning som anges av pipelinen oavsett prioritetsinställningen för varje jobb.
- Om din pipeline har flera jobb som är konfigurerade att köras parallellt (standardvärdet för YAML-pipelines) placeras jobben i kö samtidigt och jobb i pipelinen med lägre prioritet kan köras före jobb i pipelinen med högre prioritet.
ImageOverride
Om du har flera avbildningar i poolen kan du konfigurera dina pipelines så att de använder en viss avbildning med hjälp ImageOverride
av efterfrågan och ange aliaset för avbildningen som ska användas. Om du använder en Azure Pipelines-avbildning kan du använda dess fördefinierade alias. För alla andra avbildningar måste du konfigurera egna alias.
I följande exempel konfigureras en pipeline att köras med hjälp av en avbildning som har konfigurerats med ett ubuntu-20.04-gen2
alias.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageOverride -equals ubuntu-20.04-gen2
Viktigt!
Placera inte citattecken runt aliasnamnet på ImageOverride
begäran, även om det har blanksteg i namnet.
ImageVersionOverride
Om du använder ett delat bildgalleri eller en Azure Marketplace-avbildning och vill använda en specifik version av avbildningen i stället för den version som anges i avbildningskonfigurationen kan du använda ImageVersionOverride
efterfrågan. Du kan till exempel använda den för att verifiera en ny avbildningsversion innan du befordrar den till den senaste för en avbildning. I följande exempel anges ett ImageVersionOverride
av 2.0.0
.
ImageVersionOverride
Konfigurera efterfrågan i avsnittet i demands
din pipeline.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageVersionOverride -equals 2.0.0
CustomCapabilities
Om du har tillståndskänsliga pooler och vill ha ett sätt att köra ett jobb på en specifik agentinstans som körs kan du använda CustomCapabilities
efterfrågan.
Viktigt!
Efterfrågan CustomCapabilities
gäller endast för agenter i tillståndskänsliga pooler. När du använder tillståndslösa pooler får du en ny agentbild för varje jobb.
När du anger ett CustomCapabilities
krav i pipelinen, om någon pipeline med samma efterfrågan har körts tidigare och den tillståndskänsliga agenten som körde pipelinen fortfarande är online, kommer agenten att användas för att köra pipelinen. Om inga onlineagenter matchar CustomCapabilities
efterfrågan etableras en agent från poolen, taggas med CustomCapabilities
efterfrågan och används för att köra pipelinen. Efterföljande jobb med samma CustomCapabilities
efterfrågan använder den taggade agentinstansen för att köra sina jobb så länge agenten är online.
I följande exempel körs en pipeline med hjälp av Azure Pipelines-avbildningen windows-2022
i en tillståndskänslig pool. Om en onlineagent är redo att acceptera jobb och taggas med CustomCapabilities
attributet (anges av en pipeline som tidigare kördes på agenten) används agenten för att köra den här pipelinen. Om ingen onlineagent matchar detta krav används nästa tillgängliga agent för att köra jobbet och agenten taggas med CustomCapabilities
attributet . Framtida pipelinekörningar med den här efterfrågan körs på den här agenten, om den är online och redo för jobb.
pool:
name: fabrikam-dev-pool # Name of Managed DevOps Pool
demands:
- ImageOverride -equals windows-2022
- CustomCapabilities -equals MyCustomValue
Du har till exempel en stor lagringsplats som tar lång tid att klona och du har flera pipelines som körs från den här lagringsplatsen. Att använda samma CustomCapabilities
efterfrågan i pipelines kan hjälpa den andra pipelinen att köras snabbare med hjälp av en agent med lagringsplatsen redan klonad.