Variabelegroepen toevoegen en gebruiken

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

In variabelengroepen worden waarden en geheimen opgeslagen die u mogelijk wilt doorgeven aan een YAML-pijplijn of die beschikbaar moeten worden gesteld in meerdere pijplijnen. U kunt variabelengroepen in meerdere pijplijnen in hetzelfde project delen en gebruiken.

Geheime variabelen in groepen variabelen zijn beveiligde resources. U kunt combinaties van goedkeuringen, controles en pijplijnmachtigingen toevoegen om de toegang tot geheime variabelen in een variabelegroep te beperken. Toegang tot niet-geheime variabelen wordt niet beperkt door goedkeuringen, controles en pijplijnmachtigingen.

Een variabelegroep maken

U kunt geen variabelegroepen maken in YAML, maar ze kunnen worden gebruikt zoals beschreven in Een variabelegroep gebruiken.

Een variabelegroep gebruiken

Als u een variabele uit een variabelegroep wilt gebruiken, voegt u een verwijzing toe naar de groep in uw YAML-bestand:

variables:
- group: my-variable-group

Vervolgens kunnen variabelen uit de variabelegroep worden gebruikt in uw YAML-bestand.

Als u zowel variabelen als variabelegroepen gebruikt, gebruikt u de name/value syntaxis voor de afzonderlijke niet-gegroepeerde variabelen:

variables:
- group: my-variable-group
- name: my-bare-variable
  value: 'value of my-bare-variable'

Als u wilt verwijzen naar een variabelegroep, gebruikt u macrosyntaxis of een runtime-expressie. In het volgende voorbeeld heeft de groep my-variable-group een variabele met de naam 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) 

U kunt verwijzen naar meerdere variabelegroepen in dezelfde pijplijn. Als meerdere variabelegroepen dezelfde variabele bevatten, stelt de variabelegroep die als laatste is opgenomen in het YAML-bestand de waarde van de variabele in.

variables:
- group: my-first-variable-group
- group: my-second-variable-group

U kunt ook verwijzen naar een variabelegroep in een sjabloon. In de sjabloon variables.ymlwordt naar de groep my-variable-group verwezen. De variabelegroep bevat een variabele met de naam myhello.

# variables.yml
variables:
- group: my-variable-group

In deze pijplijn wordt de variabele $(myhello) uit de variabelegroep my-variable-group opgenomen en variables.yml waarnaar wordt verwezen.

# azure-pipeline.yml
stages:
- stage: MyStage
  variables:
  - template: variables.yml
  jobs:
  - job: Test
    steps:
    - script: echo $(myhello)

Een variabelegroep autoriseren

Als u met een variabele groep wilt werken, moet u de groep autoriseren. Als u alleen de naam van de variabelegroep in YAML opgeeft, kan iedereen die code naar uw opslagplaats kan pushen, de inhoud van geheimen in de variabelegroep extraheren. Gebruik een van de volgende technieken om de groep te autoriseren:

  • Als u een pijplijn wilt autoriseren om de variabelegroep te gebruiken, gaat u naar Azure Pipelines. Dit kan een goede optie zijn als u geen geheimen in de groep hebt. Selecteer Groepen bibliotheekvariabelen>en selecteer vervolgens de betreffende variabelegroep en schakel de instelling Toegang tot alle pijplijnen toestaan in.

  • Als u een variabelegroep voor een specifieke pijplijn wilt autoriseren, opent u de pijplijn, selecteert u Bewerken en dient u vervolgens handmatig een build in de wachtrij te plaatsen. U ziet een resourceautorisatiefout en een actie Resources autoriseren bij de fout. Kies deze actie om de pijplijn expliciet toe te voegen als geautoriseerde gebruiker van de variabelegroep.

Notitie

Als u een variabelegroep aan een pijplijn toevoegt en er geen resourceautorisatiefout optreedt in uw build wanneer u er een verwachtte, schakelt u de instelling Toegang tot alle pijplijnen toestaan uit.

Open de variabelewaarden in een gekoppelde variabelegroep op dezelfde manier als variabelen die u in de pijplijn zelf definieert. Als u bijvoorbeeld toegang wilt krijgen tot de waarde van een variabele met de naam klant in een variabelegroep die is gekoppeld aan de pijplijn, gebruikt $(customer) u deze in een taakparameter of een script. U kunt echter geen toegang krijgen tot geheime variabelen (versleutelde variabelen en sleutelkluisvariabelen) rechtstreeks in scripts. In plaats daarvan moeten ze worden doorgegeven als argumenten aan een taak. Zie geheimen voor meer informatie

Wijzigingen die u aanbrengt in een variabelegroep, zijn automatisch beschikbaar voor alle definities of fasen waaraan de variabelegroep wordt gekoppeld.

Groepen met variabelen weergeven

Gebruik de CLI om de variabelengroepen voor pijplijnuitvoeringen weer te geven met de opdracht az pipelines variable-group list . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group list [--action {manage, none, use}]
                                 [--continuation-token]
                                 [--group-name]
                                 [--org]
                                 [--project]
                                 [--query-order {Asc, Desc}]
                                 [--top]

Optionele parameters

  • actie: Hiermee geeft u de actie op die kan worden uitgevoerd op de variabelegroepen. Geaccepteerde waarden worden beheerd, geen en gebruik.
  • continuation-token: geeft een lijst weer van de variabelegroepen nadat een vervolgtoken is opgegeven.
  • groepsnaam: naam van de variabelegroep. Jokertekens worden geaccepteerd, zoals new-var*.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.
  • queryvolgorde: geeft een lijst weer van de resultaten in oplopende of aflopende volgorde (de standaardvolgorde). Geaccepteerde waarden zijn Asc en Desc.
  • top: Aantal variabelegroepen dat moet worden weergegeven.

Opmerking

Met de volgende opdracht worden de drie belangrijkste variabelegroepen in oplopende volgorde weergegeven en worden de resultaten in tabelindeling geretourneerd.

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

Details weergeven voor een variabelegroep

Geef de details van een variabelegroep in uw project weer met de opdracht az pipelines variable-group show . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group show --group-id
                                 [--org]
                                 [--project]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.

Opmerking

De volgende opdracht toont details voor de variabelegroep met de id 4 en retourneert de resultaten in YAML-indeling.

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

Een variabelegroep verwijderen

Verwijder een variabelegroep in uw project met de opdracht az pipelines variable-group delete . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group delete --group-id
                                   [--org]
                                   [--project]
                                   [--yes]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.
  • Ja: Optioneel. Er wordt niet om bevestiging gevraagd.

Opmerking

Met de volgende opdracht wordt de variabelegroep met de id 1 verwijderd en wordt niet om bevestiging gevraagd.

az pipelines variable-group delete --group-id 1 --yes

Deleted variable group successfully.

Variabelen toevoegen aan een variabelegroep

Met de Azure DevOps CLI kunt u een variabele toevoegen aan een variabelegroep in een pijplijn met de opdracht az pipelines variable-group variable-group variable create . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group variable create --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--secret {false, true}]
                                            [--value]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • name: vereist. Naam van de variabele die u toevoegt.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.
  • geheim: Optioneel. Geeft aan of de waarde van de variabele een geheim is. Geaccepteerde waarden zijn onwaar en waar.
  • waarde: vereist voor niet-geheime variabele. Waarde van de variabele. Als er geen waardeparameter is opgegeven voor geheime variabelen, wordt deze gekozen uit de omgevingsvariabele die is voorafgegaan door AZURE_DEVOPS_EXT_PIPELINE_VAR_ of de gebruiker wordt gevraagd deze in te voeren via standaardinvoer. Een variabele met de naam MySecret kan bijvoorbeeld worden ingevoerd met behulp van de omgevingsvariabele AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret.

Opmerking

Met de volgende opdracht maakt u een variabele in de variabelegroep met id 4. De nieuwe variabele heeft de naam vereist aanmelding en heeft de waarde True en het resultaat wordt weergegeven in tabelindeling.

az pipelines variable-group variable create --group-id 4 --name requires-login --value True --output table

Name            Is Secret    Value
--------------  -----------  -------
requires-login  False        True

Variabelen weergeven in een variabelegroep

U kunt de variabelen in een variabelegroep weergeven met de opdracht az pipelines variable-group variable list . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group variable list --group-id
                                          [--org]
                                          [--project]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.

Opmerking

Met de volgende opdracht worden alle variabelen in de variabelegroep weergegeven met id 4 en wordt het resultaat in tabelindeling weergegeven.

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

Variabelen in een variabelegroep bijwerken

Werk een variabele bij in een variabelegroep met de opdracht az pipelines variable-group variable update . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group variable update --group-id
                                            --name
                                            [--new-name]
                                            [--org]
                                            [--project]
                                            [--prompt-value {false, true}]
                                            [--secret {false, true}]
                                            [--value]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • name: vereist. Naam van de variabele die u toevoegt.
  • nieuwe naam: optioneel. Geef op om de naam van de variabele te wijzigen.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.
  • prompt-value: stel in op True om de waarde van een geheime variabele bij te werken met behulp van een omgevingsvariabele of prompt via standaardinvoer. Geaccepteerde waarden zijn onwaar en waar.
  • geheim: Optioneel. Geeft aan of de waarde van de variabele geheim blijft. Geaccepteerde waarden zijn onwaar en waar.
  • waarde: Hiermee wordt de waarde van de variabele bijgewerkt. Voor geheime variabelen gebruikt u de parameter prompt-value om deze in te voeren via standaardinvoer. Voor niet-interactieve consoles kan deze worden gekozen uit de omgevingsvariabele AZURE_DEVOPS_EXT_PIPELINE_VAR_met voorvoegsel . Een variabele met de naam MySecret kan bijvoorbeeld worden ingevoerd met behulp van de omgevingsvariabele AZURE_DEVOPS_EXT_PIPELINE_VAR_MySecret.

Opmerking

Met de volgende opdracht wordt de variabele vereist aanmelding bijgewerkt met de nieuwe waarde False in de variabelegroep met id 4. Hiermee geeft u op dat de variabele een geheim is en het resultaat in YAML-indeling wordt weergegeven. U ziet dat in de uitvoer de waarde wordt weergegeven als null in plaats van Onwaar , omdat het een verborgen geheime waarde is.

az pipelines variable-group variable update --group-id 4 --name requires-login --value False --secret true --output yaml

requires-login:
  isSecret: true
  value: null

Variabelen verwijderen uit een variabelegroep

Verwijder een variabele uit een variabelegroep met de opdracht az pipelines variable-group variable delete . Als de Azure DevOps-extensie voor CLI nieuw voor u is, raadpleegt u Aan de slag met Azure DevOps CLI.

az pipelines variable-group variable delete --group-id
                                            --name
                                            [--org]
                                            [--project]
                                            [--yes]

Parameters

  • groeps-id: vereist. Id van de variabelegroep. Zie Lijstvariabelegroepen om de groeps-id van de variabele te vinden.
  • name: vereist. Naam van de variabele die u verwijdert.
  • organisatie: URL van Azure DevOps-organisatie. Configureer de standaardorganisatie met behulp van az devops configure -d organization=ORG_URL. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config. Voorbeeld: --org https://dev.azure.com/MyOrganizationName/.
  • project: naam of id van het project. Configureer het standaardproject met behulp van az devops configure -d project=NAME_OR_ID. Vereist als deze niet is geconfigureerd als standaard of wordt opgehaald met behulp van git config.
  • Ja: Optioneel. Er wordt niet om bevestiging gevraagd.

Opmerking

Met de volgende opdracht verwijdert u de variabele vereist aanmelding uit de variabelegroep met id 4 en wordt om bevestiging gevraagd.

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.

Notitie

Key Vaults die gebruikmaken van op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) worden niet ondersteund.

Koppel een bestaande Azure-sleutelkluis aan een variabelegroep en wijs selectieve kluisgeheimen toe aan de variabelegroep.

  1. Schakel op de pagina Variabelengroepen geheimen uit een Azure-sleutelkluis in als variabelen. U hebt een bestaande sleutelkluis met uw geheimen nodig. Maak een sleutelkluis met behulp van Azure Portal.

    Schermopname van een variabele groep met Azure Key Vault-integratie.

  2. Geef het eindpunt van uw Azure-abonnement en de naam van de kluis met uw geheimen op.

    Zorg ervoor dat de Azure-serviceverbinding ten minste beheermachtigingen voor ophalen en weergeven heeft voor de kluis voor geheimen. Schakel Azure Pipelines in om deze machtigingen in te stellen door Autoriseren naast de kluisnaam te kiezen. U kunt de machtigingen ook handmatig instellen in Azure Portal:

    1. Open Instellingen voor de kluis en kies vervolgens Toegangsbeleid>toevoegen.
    2. Selecteer Principal selecteren en kies vervolgens de service-principal voor uw clientaccount.
    3. Selecteer Geheime machtigingen en zorg ervoor dat Ophalen en Lijst vinkjes hebben.
    4. Selecteer OK om de wijzigingen op te slaan.
  3. Selecteer op de pagina Variabelengroepen de optie + Toevoegen om specifieke geheimen in uw kluis te selecteren voor toewijzing aan deze variabelegroep.

Sleutelkluisgeheimen beheren

Zie de volgende lijst met handige tips voor het beheren van geheimen.

  • Alleen de geheime namen worden toegewezen aan de variabelegroep, niet aan de geheime waarden. De meest recente geheime waarde, opgehaald uit de kluis, wordt gebruikt in de pijplijnuitvoering die is gekoppeld aan de variabelegroep.

  • Wijzigingen die zijn aangebracht in bestaande geheimen in de sleutelkluis, zijn automatisch beschikbaar voor alle pijplijnen waarin de variabelegroep wordt gebruikt.

  • Wanneer nieuwe geheimen worden toegevoegd aan of verwijderd uit de kluis, worden de bijbehorende variabelegroepen niet automatisch bijgewerkt. De geheimen in de variabelegroep moeten expliciet worden bijgewerkt, zodat de pijplijnen die gebruikmaken van de variabelegroep correct worden uitgevoerd.

  • Azure Key Vault biedt ondersteuning voor het opslaan en beheren van cryptografische sleutels en geheimen in Azure. Op dit moment ondersteunt de integratie van groepen met variabelen in Azure Pipelines alleen het toewijzen van geheimen uit de Azure-sleutelkluis. Cryptografische sleutels en certificaten worden niet ondersteund.

Variabelen in een groep uitvouwen

Wanneer u een variabele in een groep instelt en deze in een YAML-bestand gebruikt, is deze gelijk aan andere gedefinieerde variabelen in het YAML-bestand. Zie Variabelen voor meer informatie over prioriteit van variabelen.