Lägg till och använd variabelgrupper
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Variabelgrupper lagrar värden och hemligheter som du kanske vill skicka till en YAML-pipeline eller göra tillgängliga i flera pipelines. Du kan dela och använda variabelgrupper i flera pipelines i samma 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-hemliga variabler begränsas inte av godkännanden, kontroller och pipelinebehörigheter.
Skapa en variabelgrupp
Du kan inte skapa variabelgrupper i YAML, men de kan användas enligt beskrivningen i Använd en variabelgrupp.
Använda en variabelgrupp
Om du vill använda en variabel från en variabelgrupp lägger du till en referens till gruppen i YAML-filen:
variables:
- group: my-variable-group
Sedan kan variabler från variabelgruppen användas i YAML-filen.
Om du använder både variabler och variabelgrupper använder du syntaxen name
/value
för de enskilda variablerna som inte är grupperade:
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Om du vill referera till en variabelgrupp använder du makrosyntax eller ett körningsuttryck. I följande exempel har gruppen my-variable-group
en variabel med namnet myhello
.
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello] # uses runtime expression
steps:
- script: echo $(myhello) # uses macro syntax
- script: echo $(my-passed-variable)
Du kan referera till flera variabelgrupper i samma pipeline. Om flera variabelgrupper innehåller samma variabel anger variabelgruppen som ingick sist i YAML-filen variabelns värde.
variables:
- group: my-first-variable-group
- group: my-second-variable-group
Du kan också referera till en variabelgrupp i en mall. I mallen variables.yml
refereras gruppen my-variable-group
till. Variabelgruppen innehåller en variabel med namnet myhello
.
# variables.yml
variables:
- group: my-variable-group
I den här pipelinen inkluderas variabeln $(myhello)
från variabelgruppen my-variable-group
och variables.yml
refereras till.
# azure-pipeline.yml
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Auktorisera en variabelgrupp
Om du vill arbeta med en variabelgrupp måste du auktorisera gruppen. Om du bara namnger variabelgruppen i YAML kan alla som kan skicka kod till lagringsplatsen extrahera innehållet i hemligheterna i variabelgruppen. Om du vill auktorisera gruppen använder du någon av följande tekniker:
Om du vill auktorisera en pipeline att använda variabelgruppen går du till Azure Pipelines. Det här kan vara ett bra alternativ om du inte har några hemligheter i gruppen. Välj Biblioteksvariabelgrupper> och välj sedan variabelgruppen i fråga och aktivera inställningen Tillåt åtkomst till alla pipelines.
Om du vill auktorisera en variabelgrupp för en specifik pipeline öppnar du pipelinen, väljer Redigera och köar sedan en version manuellt. Du ser ett resursauktoriseringsfel och en åtgärd för att auktorisera resurser på felet. Välj den här åtgärden för att uttryckligen lägga till pipelinen som behörig användare av variabelgruppen.
Kommentar
Om du lägger till en variabelgrupp i en pipeline och inte får något resursauktoriseringsfel i din version när du förväntade dig en, inaktiverar du inställningen Tillåt åtkomst till alla pipelines .
Få åtkomst till variabelvärdena i en länkad variabelgrupp på samma sätt som variabler som du definierar i själva pipelinen.
Om du till exempel vill komma åt värdet för en variabel med namnet kund i en variabelgrupp som är länkad till pipelinen använder du $(customer)
i en aktivitetsparameter eller ett skript. Men du kan inte komma åt hemliga variabler (krypterade variabler och nyckelvalvsvariabler) direkt i skript – i stället måste de skickas som argument till en uppgift. Mer information finns i hemligheter
Ändringar som du gör i en variabelgrupp är automatiskt tillgängliga för alla definitioner eller faser som variabelgruppen länkas till.
Lista variabelgrupper
Använd CLI för att lista variabelgrupperna för pipelinekörningar med kommandot az pipelines variable-group list . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group list [--action {manage, none, use}]
[--continuation-token]
[--group-name]
[--org]
[--project]
[--query-order {Asc, Desc}]
[--top]
Valfria parametrar
- åtgärd: Anger den åtgärd som kan utföras på variabelgrupperna. Godkända värden hanteras, ingen och används.
- continuation-token: Visar en lista över variabelgrupper efter att en fortsättningstoken har angetts.
- group-name: Namnet på variabelgruppen. Jokertecken accepteras, till exempel
new-var*
. - org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. - query-order: Visar resultatet i antingen stigande eller fallande ordning (standardordningen). Godkända värden är Asc och Desc.
- överst: Antal variabelgrupper som ska listas.
Exempel
Följande kommando visar de tre översta variabelgrupperna i stigande ordning och returnerar resultatet i tabellformat.
az pipelines variable-group list --top 3 --query-order Asc --output table
ID Name Type Number of Variables
---- ----------------- ------ ---------------------
1 myvariables Vsts 2
2 newvariables Vsts 4
3 new-app-variables Vsts 3
Visa information för en variabelgrupp
Visa information om en variabelgrupp i projektet med kommandot az pipelines variable-group show . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group show --group-id
[--org]
[--project]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
.
Exempel
Följande kommando visar information om variabelgruppen med ID 4 och returnerar resultatet i YAML-format.
az pipelines variable-group show --group-id 4 --output yaml
authorized: false
description: Variables for my new app
id: 4
name: MyNewAppVariables
providerData: null
type: Vsts
variables:
app-location:
isSecret: null
value: Head_Office
app-name:
isSecret: null
value: Fabrikam
Ta bort en variabelgrupp
Ta bort en variabelgrupp i projektet med kommandot az pipelines variable-group delete . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. - Ja: Valfritt. Uppmanar inte till bekräftelse.
Exempel
Följande kommando tar bort variabelgruppen med ID 1 och ber inte om bekräftelse.
az pipelines variable-group delete --group-id 1 --yes
Deleted variable group successfully.
Lägga till variabler i en variabelgrupp
Med Azure DevOps CLI kan du lägga till en variabel i en variabelgrupp i en pipeline med kommandot az pipelines variable-group variable create . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- name: Krävs. Namnet på variabeln som du lägger till.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. - hemlighet: Valfritt. Anger om variabelns värde är en hemlighet. Godkända värden är falska och sanna.
- värde: Krävs för icke-hemlig variabel. Variabelns värde. För hemliga variabler, om värdeparametern inte anges, väljs den från miljövariabelns prefix med
AZURE_DEVOPS_EXT_PIPELINE_VAR_
eller användaren uppmanas att ange den via standardindata. En variabel med namnet MySecret kan till exempel matas in med hjälp av miljövariabelnAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exempel
Följande kommando skapar en variabel i variabelgruppen med ID :t 4. Den nya variabeln heter requires-login och har värdet True och resultatet visas i tabellformat.
az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table
Name Is Secret Value
-------------- ----------- -------
requires-login False True
Lista variabler i en variabelgrupp
Du kan visa variablerna i en variabelgrupp med kommandot az pipelines variable-group variable list . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
.
Exempel
Följande kommando visar alla variabler i variabelgruppen med ID :t 4 och resultatet visas i tabellformat.
az pipelines variable-group variable list --group-id 4 --output table
Name Is Secret Value
-------------- ----------- -----------
app-location False Head_Office
app-name False Fabrikam
requires-login False True
Uppdatera variabler i en variabelgrupp
Uppdatera en variabel i en variabelgrupp med kommandot az pipelines variable-group variable update . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group variable update --group-id
--name
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--value]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- name: Krävs. Namnet på variabeln som du lägger till.
- new-name: Valfritt. Ange för att ändra namnet på variabeln.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. - prompt-value: Ställ in på true för att uppdatera värdet för en hemlig variabel med hjälp av miljövariabeln eller fråga via standardindata. Godkända värden är falska och sanna.
- hemlighet: Valfritt. Anger om variabelns värde hålls hemligt. Godkända värden är falska och sanna.
- värde: Uppdateringar variabelns värde. För hemliga variabler använder du parametern prompt-value för att uppmanas att ange den via standardindata. För icke-interaktiva konsoler kan den hämtas från miljövariabeln med prefixet
AZURE_DEVOPS_EXT_PIPELINE_VAR_
. En variabel med namnet MySecret kan till exempel matas in med hjälp av miljövariabelnAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret
.
Exempel
Följande kommando uppdaterar variabeln kräver inloggning med det nya värdet False i variabelgruppen med ID 4. Den anger att variabeln är en hemlighet och visar resultatet i YAML-format. Observera att utdata visar värdet som null i stället för False eftersom det är ett hemligt dolt värde.
az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml
requires-login:
isSecret: true
value: null
Ta bort variabler från en variabelgrupp
Ta bort en variabel från en variabelgrupp med kommandot az pipelines variable-group variable delete . Om Azure DevOps-tillägget för CLI är nytt för dig kan du läsa Komma igång med Azure DevOps CLI.
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parametrar
- grupp-ID: Krävs. ID för variabelgruppen. Information om hur du hittar variabelgruppens ID finns i Lista variabelgrupper.
- name: Krävs. Namnet på variabeln som du tar bort.
- org: Url för Azure DevOps-organisationen. Konfigurera standardorganisationen med .
az devops configure -d organization=ORG_URL
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. Exempel:--org https://dev.azure.com/MyOrganizationName/
. - project: Projektets namn eller ID. Konfigurera standardprojektet med .
az devops configure -d project=NAME_OR_ID
Krävs om det inte är konfigurerat som standard eller hämtas med hjälp avgit config
. - Ja: Valfritt. Uppmanar inte till bekräftelse.
Exempel
Följande kommando tar bort variabeln kräver inloggning från variabelgruppen med ID:t 4 och ber om bekräftelse.
az pipelines variable-group variable delete --group-id 4 --name requires-login
Are you sure you want to delete this variable? (y/n): y
Deleted variable 'requires-login' successfully.
Länka hemligheter från ett Azure-nyckelvalv
Kommentar
Key Vaults med rollbaserad åtkomstkontroll i Azure (Azure RBAC) stöds inte.
Länka ett befintligt Azure-nyckelvalv till en variabelgrupp och mappa selektiva valvhemligheter till variabelgruppen.
På sidan Variabelgrupper aktiverar du Länkhemligheter från ett Azure-nyckelvalv som variabler. Du behöver ett befintligt nyckelvalv som innehåller dina hemligheter. Skapa ett nyckelvalv med hjälp av Azure-portalen.
Ange slutpunkten för din Azure-prenumeration och namnet på valvet som innehåller dina hemligheter.
Kontrollera att Azure-tjänstanslutningen har minst behörighet att hämta och lista hantering i valvet för hemligheter. Aktivera Azure Pipelines för att ange dessa behörigheter genom att välja Auktorisera bredvid valvnamnet. Eller ange behörigheterna manuellt i Azure-portalen:
- Öppna Inställningar för valvet och välj sedan Åtkomstprinciper>Lägg till ny.
- Välj Välj huvudnamn och välj sedan tjänstens huvudnamn för ditt klientkonto.
- Välj Hemliga behörigheter och se till att Hämta och Lista har bockmarkeringar.
- Spara ändringarna genom att välja OK .
På sidan Variabelgrupper väljer du + Lägg till för att välja specifika hemligheter från valvet för mappning till den här variabelgruppen.
Hantera key vault-hemligheter
Se följande lista med användbara tips för att hantera hemligheter.
Endast de hemliga namnen mappas till variabelgruppen, inte de hemliga värdena. Det senaste hemliga värdet, som hämtats från valvet, används i pipelinekörningen som är länkad till variabelgruppen.
Alla ändringar som görs i befintliga hemligheter i nyckelvalvet är automatiskt tillgängliga för alla pipelines som variabelgruppen används i.
När nya hemligheter läggs till eller tas bort från valvet uppdateras inte de associerade variabelgrupperna automatiskt. Hemligheterna som ingår i variabelgruppen måste uppdateras explicit så att pipelines som använder variabelgruppen körs korrekt.
Azure Key Vault stöder lagring och hantering av kryptografiska nycklar och hemligheter i Azure. För närvarande stöder Azure Pipelines-variabelgruppintegrering endast mappning av hemligheter från Azure-nyckelvalvet. Kryptografiska nycklar och certifikat stöds inte.
Expandera variabler i en grupp
När du anger en variabel i en grupp och använder den i en YAML-fil är den lika med andra definierade variabler i YAML-filen. Mer information om variablers prioritet finns i Variabler.
Relaterade artiklar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för