Hantera variabelgrupper
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Den här artikeln beskriver hur du skapar och använder variabelgrupper i Azure Pipelines. Variabelgrupper lagrar värden och hemligheter som du kan skicka till en YAML-pipeline eller göra tillgängliga över flera pipelines i ett projekt.
Hemliga variabler i variabelgrupper är skyddade resurser. Du kan lägga till kombinationer av godkännanden, kontroller och pipelinebehörigheter för att begränsa åtkomsten till hemliga variabler i en variabelgrupp. Åtkomst till icke-säkerhetsvariabler begränsas inte av godkännanden, kontroller eller pipelinebehörigheter.
Variabelgrupper följer bibliotekssäkerhetsmodellen för roller och behörigheter.
Förutsättningar
- En Azure DevOps Services-organisation och ett projekt där du har behörighet att skapa pipelines och variabler.
- Ett projekt i din Azure DevOps-organisation eller Azure DevOps Server-samling. Skapa ett projekt om du inte har något.
- Om du använder Azure DevOps CLI behöver du Azure CLI version 2.30.0 eller senare med Azure DevOps CLI-tillägget. Mer information finns i Kom igång med Azure DevOps CLI.
- En Azure DevOps Server-samling och ett projekt där du har behörighet att skapa pipelines och variabler.
- Ett projekt i din Azure DevOps-organisation eller Azure DevOps Server-samling. Skapa ett projekt om du inte har något.
Konfigurera CLI
Om du använder Azure DevOps CLI måste du konfigurera CLI för att arbeta med din Azure DevOps-organisation och ditt projekt.
Logga in på din Azure DevOps-organisation med hjälp av kommandot az login .
az login
Om du uppmanas till det väljer du din prenumeration i listan som visas i terminalfönstret.
Se till att du kör den senaste versionen av Azure CLI och Azure DevOps-tillägget med hjälp av följande kommandon.
az upgrade az extension add --name azure-devops --upgrade
I Azure DevOps CLI-kommandon kan du ange standardorganisationen och projektet med hjälp av:
az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
Om du inte har angett standardorganisationen och projektet kan du använda parametern
detect=true
i dina kommandon för att automatiskt identifiera organisationen och projektkontexten baserat på din aktuella katalog. Om standardvärdena inte har konfigurerats eller identifierats måste du uttryckligen ange parametrarnaorg
ochproject
i dina kommandon.
Skapa en variabelgrupp
Du kan skapa variabelgrupper för pipelinekörningarna i projektet.
Kommentar
Om du vill skapa en hemlig variabelgrupp för att länka hemligheter från ett Azure-nyckelvalv som variabler följer du anvisningarna i Länka en variabelgrupp till hemligheter i Azure Key Vault.
I ditt Azure DevOps-projekt väljer du Pipelines-bibliotek> på den vänstra menyn.
På sidan Bibliotek väljer du gruppen + Variabel.
På den nya variabelgruppens sida under Egenskaper anger du ett namn och en valfri beskrivning för variabelgruppen.
Under Variabler väljer du + Lägg till och anger sedan ett variabelnamn och värde som ska inkluderas i gruppen. Om du vill kryptera och lagra värdet på ett säkert sätt väljer du låsikonen bredvid variabeln.
Välj + Lägg till för att lägga till varje ny variabel. När du har lagt till variabler väljer du Spara.
Nu kan du använda den här variabelgruppen i projektpipelines.
Uppdatera variabelgrupper
Du kan uppdatera variabelgrupper med hjälp av användargränssnittet för Azure Pipelines.
- I ditt Azure DevOps-projekt väljer du Pipelines-bibliotek> på den vänstra menyn.
- På sidan Bibliotek väljer du den variabelgrupp som du vill uppdatera. Du kan också hovra över listan med variabelgrupper, välja ikonen Fler alternativ och välja Redigera på menyn.
- På sidan variabelgrupp ändrar du någon av egenskaperna och väljer sedan Spara.
Ta bort en variabelgrupp
Du kan ta bort variabelgrupper i användargränssnittet för Azure Pipelines.
- I ditt Azure DevOps-projekt väljer du Pipelines-bibliotek> på den vänstra menyn.
- Hovra över den variabelgrupp som du vill ta bort på sidan Bibliotek och välj ikonen Fler alternativ.
- Välj Ta bort på menyn och välj sedan Ta bort på bekräftelseskärmen.
Hantera variabler i variabelgrupper
Du kan ändra, lägga till eller ta bort variabler i variabelgrupper med hjälp av användargränssnittet för Azure Pipelines.
- I ditt Azure DevOps-projekt väljer du Pipelines-bibliotek> på den vänstra menyn.
- På sidan Bibliotek väljer du den variabelgrupp som du vill uppdatera. Du kan också hovra över listan med variabelgrupper, välja ikonen Fler alternativ och välja Redigera på menyn.
- På sidan variabelgrupp kan du:
- Ändra något av variabelnamnen eller värdena.
- Ta bort någon av variablerna genom att välja papperskorgsikonen bredvid variabelnamnet.
- Ändra variabler till hemlighet eller icke-sekret genom att välja låsikonen bredvid variabelvärdet.
- Lägg till nya variabler genom att välja + Lägg till.
- När du har gjort ändringar väljer du Spara.
Använda variabelgrupper i pipelines
Du kan använda variabelgrupper i YAML- eller klassiska pipelines. Ändringar som du gör i en variabelgrupp är automatiskt tillgängliga för alla definitioner eller faser som variabelgruppen är länkad till.
Om du bara namnger variabelgruppen i YAML-pipelines kan alla som kan skicka kod till lagringsplatsen extrahera innehållet i hemligheterna i variabelgruppen. Om du vill använda en variabelgrupp med YAML-pipelines måste du därför auktorisera pipelinen att använda gruppen. Du kan auktorisera en pipeline för att använda en variabelgrupp i användargränssnittet för Azure Pipelines eller med hjälp av Azure DevOps CLI.
Auktorisering via pipelines-användargränssnittet
Du kan auktorisera pipelines för att använda dina variabelgrupper med hjälp av användargränssnittet för Azure Pipelines.
- I ditt Azure DevOps-projekt väljer du Pipelines-bibliotek> på den vänstra menyn.
- På sidan Bibliotek väljer du den variabelgrupp som du vill auktorisera.
- På sidan variabelgrupp väljer du fliken Pipelinebehörigheter .
- På skärmen Pipelinebehörigheter väljer du + och väljer sedan en pipeline som ska auktoriseras. Eller välj ikonen Fler åtgärder , välj Öppna åtkomst och välj Öppna åtkomst igen för att bekräfta.
Om du väljer en pipeline godkänns pipelinen att använda variabelgruppen. Om du vill auktorisera en annan pipeline väljer du + ikonen igen. Om du väljer Öppna åtkomst kan alla projektpipelines använda variabelgruppen. Öppen åtkomst kan vara ett bra alternativ om du inte har några hemligheter i gruppen.
Ett annat sätt att auktorisera en variabelgrupp är att välja pipelinen, välja Redigera och sedan köa en version manuellt. Du ser ett resursauktoriseringsfel och kan sedan uttryckligen lägga till pipelinen som en behörig användare av variabelgruppen.
Auktorisering via Azure DevOps CLI
I Azure DevOps Services kan du auktorisera variabelgrupper med hjälp av Azure DevOps CLI.
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Om du vill auktorisera alla projektpipelines att använda variabelgruppen anger du parametern authorize
i kommandot az pipelines variable-group create till true
. Den här öppna åtkomsten kan vara ett bra alternativ om du inte har några hemligheter i gruppen.
Länka en variabelgrupp till en pipeline
När du har auktorisera en YAML-pipeline för att använda en variabelgrupp kan du använda variabler i gruppen i pipelinen.
Om du vill använda variabler från en variabelgrupp lägger du till en referens till gruppnamnet i YAML-pipelinefilen.
variables:
- group: my-variable-group
Du kan referera till flera variabelgrupper i samma pipeline. Om flera variabelgrupper innehåller variablerna med samma namn anger den sista variabelgruppen som använder variabeln i filen variabelns värde. Mer information om variablers prioritet finns i Expansion av variabler.
Du kan också referera till en variabelgrupp i en mall. Följande variables.yml mallfil refererar till variabelgruppen my-variable-group
. Variabelgruppen innehåller en variabel med namnet myhello
.
variables:
- group: my-variable-group
YAML-pipelinen refererar till mallen variables.yml och använder variabeln $(myhello)
från variabelgruppen my-variable-group
.
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Använda variabler i en länkad variabelgrupp
Du kommer åt variabelvärdena i en länkad variabelgrupp på samma sätt som du kommer åt variabler som du definierar i pipelinen. Om du till exempel vill komma åt värdet för en variabel med namnet customer
i en variabelgrupp som är länkad till pipelinen kan du använda $(customer)
i en aktivitetsparameter eller ett skript.
Om du använder både fristående variabler och variabelgrupper i pipelinefilen använder du syntaxen name
-value
för de fristående variablerna.
variables:
- group: my-variable-group
- name: my-standalone-variable
value: 'my-standalone-variable-value'
Om du vill referera till en variabel i en variabelgrupp kan du använda makrosyntax eller ett körningsuttryck. I följande exempel har gruppen my-variable-group
en variabel med namnet myhello
.
Så här använder du ett körningsuttryck:
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello]
- script: echo $(my-passed-variable)
Så här använder du makrosyntax:
variables:
- group: my-variable-group
steps:
- script: echo $(myhello)
Du kan inte komma åt hemliga variabler, inklusive krypterade variabler och nyckelvalvsvariabler, direkt i skript. Du måste skicka dessa variabler som argument till en uppgift. Mer information finns i Hemliga variabler.