Hinzufügen von & Verwendungsvariablengruppen

Variablengruppen speichern Werte und Geheimnisse, die möglicherweise an eine YAML-Pipeline übergeben oder über mehrere Pipelines hinweg zur Verfügung gestellt werden sollen. Sie können Variablengruppen in mehreren Pipelines im selben Projekt freigeben und verwenden.

Variablengruppen sind geschützte Ressourcen. Sie können diesen Variablen Genehmigungen und Überprüfungen hinzufügen und Pipelineberechtigungen festlegen.

Hinweis

In Microsoft Team Foundation Server (TFS) 2018 und früheren Versionen werden Build- und Release-Pipelines als Definitionen bezeichnet, Ausführungen werden als Builds bezeichnet, Dienstverbindungen werden als Dienstendpunkte bezeichnet, Stages werden als Umgebungen bezeichnet und Aufträge werden als Phasen bezeichnet.

Hinweis

Variablengruppen können nur in einer Buildpipeline Azure DevOps TFS 2018 verwendet werden.

Erstellen einer Variablengruppe

Sie können keine Variablengruppen in YAML erstellen, aber sie können wie unter Verwenden einer Variablengruppe beschrieben verwendet werden.

Verwenden einer Variablengruppe

Um eine Variable aus einer Variablengruppe zu verwenden, fügen Sie einen Verweis auf die Gruppe in Ihrer YAML-Datei hinzu:

variables:
- group: my-variable-group

Anschließend können Variablen aus der Variablengruppe in Ihrer YAML-Datei verwendet werden.

Wenn Sie sowohl Variablen als auch Variablengruppen verwenden, verwenden Sie die Syntax für die einzelnen nicht name/value gruppierten Variablen:

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

Um auf eine Variablengruppe zu verweisen, verwenden Sie die Makrosyntax oder einen Laufzeitausdruck. Im folgenden Beispiel verfügt die Gruppe my-variable-group über eine Variable mit dem Namen 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) 

Sie können in derselben Pipeline auf mehrere Variablengruppen verweisen. Wenn mehrere Variablengruppen dieselbe Variable enthalten, legt die zuletzt in Ihrer YAML-Datei enthaltene Variablengruppe den Wert der Variablen fest.

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

Sie können auch auf eine Variablengruppe in einer Vorlage verweisen. In der Vorlage variables.yml wird auf die Gruppe my-variable-group verwiesen. Die Variablengruppe enthält eine Variable mit dem Namen myhello .

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

In dieser Pipeline ist die Variable $(myhello) aus der Variablengruppe my-variable-group enthalten und variables.yml wird referenziert.

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

Autorisieren einer Variablengruppe

Um mit einer Variablengruppe zu arbeiten, müssen Sie die Gruppe autorisieren. Wenn Sie die Variablengruppe nur in YAML benennen, kann jeder, der Code in Ihr Repository pushen kann, den Inhalt von Geheimnissen in der Variablengruppe extrahieren. Um die Gruppe zu autorisieren, verwenden Sie eine der folgenden Verfahren:

  • Wenn Sie eine Beliebige Pipeline für die Verwendung der Variablengruppe autorisieren möchten, wechseln Sie zu Azure Pipelines. Dies ist möglicherweise eine gute Option, wenn Sie keine Geheimnisse in der Gruppe haben. Wählen Sie Bibliotheksvariablengruppenund dann die betreffende Variablengruppe aus, und aktivieren Sie die Einstellung Zugriff auf alle Pipelines zulassen.

  • Um eine Variablengruppe für eine bestimmte Pipeline zu autorisieren, öffnen Sie die Pipeline, wählen Sie Bearbeitenaus, und stellen Sie dann einen Build manuell in die Warteschlange. Es wird ein Fehler bei der Ressourcenautorisierung und eine Aktion "Ressourcen autorisieren" für den Fehler angezeigt. Wählen Sie diese Aktion aus, um die Pipeline explizit als autorisierter Benutzer der Variablengruppe hinzuzufügen.

Hinweis

Wenn Sie einer Pipeline eine Variablengruppe hinzufügen und in Ihrem Build keinen Ressourcenautorisierungsfehler erhalten, wenn Sie dies erwartet haben, deaktivieren Sie die Einstellung Zugriff auf alle Pipelines zulassen.

YAML-Builds sind in TFS nicht verfügbar.

Greifen Sie auf die Variablenwerte in einer verknüpften Variablengruppe auf die gleiche Weise zu wie auf Variablen, die Sie in der Pipeline selbst definieren. Verwenden Sie beispielsweise in einem Taskparameter oder Skript, um auf den Wert einer Variablen namens customer in einer Variablengruppe zuzugreifen, die mit der Pipeline verknüpft ist. Sie können jedoch nicht direkt in Skripts auf Geheimnisvariablen (verschlüsselte Variablen und Schlüsseltresorvariablen) zugreifen. Stattdessen müssen sie als Argumente an eine Aufgabe übergeben werden. Weitere Informationen finden Sie unter Geheimnisse.

Änderungen, die Sie an einer Variablengruppe vornehmen, sind automatisch für alle Definitionen oder Phasen verfügbar, mit denen die Variablengruppe verknüpft wird.

Auflisten von Variablengruppen

Verwenden Sie die CLI, um die Variablengruppen für Pipelineläufe mit dem Befehl az pipelines variable-group list aufzulisten. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Optionale Parameter

  • action:Gibt die Aktion an, die für die Variablengruppen ausgeführt werden kann. Akzeptierte Werte sind manage, noneund use.
  • continuation-token:Listet die Variablengruppen auf, nachdem ein Fortsetzungstoken bereitgestellt wurde.
  • group-name:Name der Variablengruppe. Platzhalter werden akzeptiert, new-var* z. B. .
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.
  • query-order:Listet die Ergebnisse in aufsteigender oder absteigender Reihenfolge (Standardreihenfolge) auf. Akzeptierte Werte sind Asc und Desc.
  • top:Anzahl der aufzulistende Variablengruppen.

Beispiel

Der folgende Befehl listet die drei wichtigsten Variablengruppen in aufsteigender Reihenfolge auf und gibt die Ergebnisse im Tabellenformat zurück.

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

Anzeigen von Details für eine Variablengruppe

Zeigen Sie die Details einer Variablengruppe in Ihrem Projekt mit dem Befehl az pipelines variable-group show an. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.

Beispiel

Der folgende Befehl zeigt Details für die Variablengruppe mit der ID 4 an und gibt die Ergebnisse im YAML-Format zurück.

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

Löschen einer Variablengruppe

Löschen Sie eine Variablengruppe in Ihrem Projekt mit dem Befehl az pipelines variable-group delete. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.
  • ja:Optional. Fordert nicht zur Bestätigung auf.

Beispiel

Der folgende Befehl löscht die Variablengruppe mit der ID 1 und fordert nicht zur Bestätigung auf.

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

Deleted variable group successfully.

Hinzufügen von Variablen zu einer Variablengruppe

Mit der Azure DevOps CLI können Sie einer Variablengruppe in einer Pipeline mit dem Befehl az pipelines variable-group variable create eine Variable hinzufügen. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • name: Erforderlich. Name der Variablen, die Sie hinzufügen.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.
  • secret:Optional. Gibt an, ob der Wert der Variablen ein Geheimnis ist. Akzeptierte Werte sind false und true.
  • value:Erforderlich für nicht geheime Variablen. Der Wert der Variablen. Wenn für Geheimnisvariablen kein Wertparameter angegeben wird, wird er aus der Umgebungsvariablen mit dem Präfix ausgewählt, oder der Benutzer wird aufgefordert, ihn über die Standardeingabe einzugeben. Beispielsweise kann eine Variable mit dem Namen MySecret mithilfe der Umgebungsvariablen eingegeben werden.

Beispiel

Der folgende Befehl erstellt eine Variable in der Variablengruppe mit der ID 4. Die neue Variable heißt requires-login und hat den Wert True,und das Ergebnis wird im Tabellenformat angezeigt.

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

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

Auflisten von Variablen in einer Variablengruppe

Sie können die Variablen in einer Variablengruppe mit dem Befehl az pipelines variable-group variable list auflisten. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.

Beispiel

Der folgende Befehl listet alle Variablen in der Variablengruppe mit der ID 4 auf und zeigt das Ergebnis im Tabellenformat an.

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

Aktualisieren von Variablen in einer Variablengruppe

Aktualisieren Sie eine Variable in einer Variablengruppe mit dem Befehl az pipelines variable-group variable update. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • name: Erforderlich. Name der Variablen, die Sie hinzufügen.
  • new-name:Optional. Geben Sie an, um den Namen der Variablen zu ändern.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.
  • prompt-value:Legen Sie auf true fest, um den Wert einer Geheimnisvariablen mithilfe der Umgebungsvariablen oder der Eingabeaufforderung per Standardeingabe zu aktualisieren. Akzeptierte Werte sind false und true.
  • secret:Optional. Gibt an, ob der Wert der Variablen geheim gehalten wird. Akzeptierte Werte sind false und true.
  • value:Aktualisiert den Wert der Variablen. Verwenden Sie für Geheimnisvariablen den Prompt-Value-Parameter, um aufgefordert zu werden, ihn über die Standardeingabe einzugeben. Bei nicht interaktiven Konsolen kann sie aus der Umgebungsvariablen mit dem Präfix ausgewählt AZURE_DEVOPS_EXT_PIPELINE_VAR_ werden. Beispielsweise kann eine Variable mit dem Namen MySecret mithilfe der Umgebungsvariablen eingegeben werden.

Beispiel

Mit dem folgenden Befehl wird die Variable requires-login mit dem neuen Wert False in der Variablengruppe mit der ID 4aktualisiert. Sie gibt an, dass die Variable ein Geheimnis ist, und zeigt das Ergebnis im YAML-Format an. Beachten Sie, dass die Ausgabe den Wert als NULL anstelle von False anzeigt, da es sich um einen ausgeblendeten Geheimniswert geht.

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

requires-login:
  isSecret: true
  value: null

Löschen von Variablen aus einer Variablengruppe

Löschen Sie mit dem Befehl az pipelines variable-group variable delete eine Variable aus einer Variablengruppe. Wenn die Azure DevOps-Erweiterung für die CLI für Sie neu ist, finden Sie weitere Informationen unter Erste Schritte mit Azure DevOps CLI.

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

Parameter

  • group-id:Erforderlich. ID der Variablengruppe. Informationen zum Ermitteln der Variablengruppen-ID finden Sie unter Auflisten von Variablengruppen.
  • name: Erforderlich. Name der Variablen, die Sie löschen.
  • org:Azure DevOps Organisations-URL. Konfigurieren Sie die Standardorganisation mit az devops configure -d organization=ORG_URL . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde. Beispiel: --org https://dev.azure.com/MyOrganizationName/.
  • project:Name oder ID des Projekts. Konfigurieren Sie das Standardprojekt mit az devops configure -d project=NAME_OR_ID . Erforderlich, wenn sie nicht als Standard konfiguriert oder mithilfe von übernommen git config wurde.
  • ja:Optional. Fordert nicht zur Bestätigung auf.

Beispiel

Der folgende Befehl löscht die Variable requires-login aus der Variablengruppe mit der ID 4 und fordert zur Bestätigung auf.

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.

Verknüpfen Sie einen vorhandenen Azure-Schlüsseltresor mit einer Variablengruppe, und ordnen Sie der Variablengruppe selektive Tresorgeheimnisse zu.

  1. Aktivieren Sie auf der Seite Variablengruppen die Option Geheimnisse aus einem Azure-Schlüsseltresor als Variablen verknüpfen. Sie benötigen einen vorhandenen Schlüsseltresor mit Ihren Geheimnissen. Erstellen Sie mithilfe des Azure-Portal einen Schlüsseltresor.

    Variable Gruppe mit Azure Key Vault-Integration

  2. Geben Sie Den Endpunkt Ihres Azure-Abonnements und den Namen des Tresors mit Ihren Geheimnissen an.

    Stellen Sie sicher, dass die Azure-Dienstverbindung mindestens über Die Verwaltungsberechtigungen abrufen und auflisten für den Tresor für Geheimnisse verfügt. Aktivieren Sie Azure Pipelines, um diese Berechtigungen festzulegen, indem Sie neben dem Tresornamen Autorisieren auswählen. Oder legen Sie die Berechtigungen manuell im Azure-Portalfest:

    1. Öffnen Sie Einstellungen für den Tresor, und wählen Sie dann ZugriffsrichtlinienNeue hinzufügenaus.
    2. Wählen Sie Prinzipal auswählen und dann den Dienstprinzipal für Ihr Clientkonto aus.
    3. Wählen Sie Geheimnisberechtigungen aus, und stellen Sie sicher, dass Get und List über Häkchen verfügen.
    4. Wählen Sie OK aus, um die Änderungen zu speichern.
  3. Wählen Sie auf der Seite Variablengruppen die Option + Hinzufügen aus, um bestimmte Geheimnisse aus Ihrem Tresor für die Zuordnung zu dieser Variablengruppe auszuwählen.

Verwalten von Geheimnissen

In der folgenden Liste finden Sie hilfreiche Tipps zum Verwalten von Geheimnissen.

  • Nur die Geheimnisnamen werden der Variablengruppe zugeordnet, nicht den Geheimniswerten. Der letzte Geheimniswert, der aus dem Tresor abgerufen wird, wird in der Pipelinelauf verwendet, die mit der Variablengruppe verknüpft ist.

  • Alle Änderungen an vorhandenen Geheimnissen im Schlüsseltresor sind automatisch für alle Pipelines verfügbar, in der die Variablengruppe verwendet wird.

  • Wenn dem Tresor neue Geheimnisse hinzugefügt oder daraus gelöscht werden, werden die zugeordneten Variablengruppen nicht automatisch aktualisiert. Die in der Variablengruppe enthaltenen Geheimnisse müssen explizit aktualisiert werden, damit die Pipelines, die die Variablengruppe verwenden, ordnungsgemäß ausgeführt werden.

  • Azure Key Vault unterstützt das Speichern und Verwalten kryptografischer Schlüssel und Geheimnisse in Azure. Derzeit unterstützt Azure Pipelines Integration von Variablengruppen nur die Zuordnung von Geheimnissen aus dem Azure-Schlüsseltresor. Kryptografische Schlüssel und Zertifikate werden nicht unterstützt.

Erweitern von Variablen in einer Gruppe

Wenn Sie eine Variable in einer Gruppe festlegen und in einer YAML-Datei verwenden, entspricht sie anderen definierten Variablen in der YAML-Datei. Weitere Informationen zur Rangfolge von Variablen finden Sie unter Variablen.

YAML wird in TFS nicht unterstützt.