Dela via


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.

Se även