Hinzufügen & von Variablengruppen
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Variable Gruppen speichern Werte und Geheime, die Sie möglicherweise an eine YAML-Pipeline übergeben oder über mehrere Pipelines hinweg verfügbar machen möchten. Sie können variablen Gruppen 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.
Erstellen einer Variablengruppe
Sie können keine Variablengruppen in YAML erstellen, aber sie können wie in "Verwenden einer Variablengruppe" beschrieben verwendet werden.
Verwenden einer Variablengruppe
Wenn Sie eine Variable aus einer Variablengruppe verwenden möchten, fügen Sie in Ihrer YAML-Datei einen Verweis auf die Gruppe 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 name/value einzelnen nicht gruppierten Variablen:
variables:
- group: my-variable-group
- name: my-bare-variable
value: 'value of my-bare-variable'
Verwenden Sie die Makrosyntax oder einen Laufzeitausdruck, um auf eine Variablengruppe zu verweisen. Im folgenden Beispiel weist die Gruppe my-variable-group 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 auf mehrere Variablengruppen in derselben Pipeline verweisen. Wenn mehrere Variablengruppen dieselbe Variable enthalten, legt die in Ihrer YAML-Datei zuletzt enthaltene Variable 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.ymlwird 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 darauf verwiesen.
# 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 nur die Variablengruppe in YAML benennen, könnte jeder, der Code an Ihr Repository pushen kann, den Inhalt geheimer Schlüssel in der Variablengruppe extrahieren. Um die Gruppe zu autorisieren, verwenden Sie eine der folgenden Techniken:
Um eine Pipeline für die Verwendung der Variablengruppe zu autorisieren, wechseln Sie zu Azure-Pipelines. Dies ist möglicherweise eine gute Option, wenn Sie keine Geheimen in der Gruppe haben. Wählen SieBibliotheksvariablengruppen> aus, und wählen Sie dann die betreffenden 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 "Bearbeiten" aus, 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 keinen Ressourcenautorisierungsfehler in Ihrem Build erhalten, wenn Sie 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 genauso zu, wie Variablen, die Sie innerhalb der Pipeline selbst definieren.
Wenn Sie beispielsweise auf den Wert einer Variablen mit dem Namen "Kunde " in einer Variablengruppe zugreifen möchten, die mit der Pipeline verknüpft ist, verwenden Sie $(customer) in einem Aufgabenparameter oder einem Skript. Sie können jedoch nicht direkt in Skripts auf geheime Variablen (verschlüsselte Variablen und Schlüsseltresorvariablen) zugreifen– stattdessen müssen sie als Argumente an eine Aufgabe übergeben werden. Weitere Informationen finden Sie unter Geheimen
Änderungen, die Sie an einer Variablengruppe vornehmen, sind automatisch für alle Definitionen oder Phasen verfügbar, mit denen die Variablengruppe verknüpft wird.
Listenvariablengruppen
Verwenden Sie die CLI, um die Variablengruppen für Pipelineausführungen mit dem Befehl "Variablengruppenliste az pipelines " auflisten zu können. Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "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
- aktion: Gibt die Aktion an, die für die Variablengruppen ausgeführt werden kann. Akzeptierte Werte werden verwaltet, keine und verwendet.
- Fortsetzungstoken: Listet die Variablengruppen auf, nachdem ein Fortsetzungstoken bereitgestellt wurde.
- gruppenname: Name der Variablengruppe. Wildcards werden akzeptiert, z
new-var*. B. . - org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. - Abfragereihenfolge: Listet die Ergebnisse entweder aufsteigend oder absteigend (die Standardreihenfolge) auf. Akzeptierte Werte sind Asc und Desc.
- oben: Anzahl der zu listenden Variablengruppen.
Beispiel
Der folgende Befehl listet die obersten drei 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
Details für eine Variablegruppe anzeigen
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 CLI neu für Sie ist, lesen Sie "Erste Schritte mit Azure DevOps CLI".
az pipelines variable-group show --group-id
[--org]
[--project]
Parameter
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde.
Beispiel
Der folgende Befehl enthält Details für die Variablengruppe mit der ID 4 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 zum Löschen der Variablengruppe az pipelines . Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "Erste Schritte mit Azure DevOps CLI".
az pipelines variable-group delete --group-id
[--org]
[--project]
[--yes]
Parameter
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. - ja: Optional. Fordert keine Bestätigung auf.
Beispiel
Der folgende Befehl löscht die Variablengruppe mit der ID 1 und fordert keine 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 eine Variable mit dem Befehl zum Erstellen der Variablengruppenvariablen az pipelines hinzufügen. Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "Erste Schritte mit Azure DevOps CLI".
az pipelines variable-group variable create --group-id
--name
[--org]
[--project]
[--secret {false, true}]
[--value]
Parameter
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- name: Erforderlich. Name der Variablen, die Sie hinzufügen.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. - geheim: Optional. Gibt an, ob der Wert der Variable ein Geheimnis ist. Akzeptierte Werte sind "false " und "true".
- wert: Erforderlich für nicht geheime Variable. Wert der Variablen. Wenn der Wertparameter für geheime Variablen nicht bereitgestellt wird, wird er aus der Umgebungsvariable mit präfix oder
AZURE_DEVOPS_EXT_PIPELINE_VAR_dem Benutzer aufgefordert, ihn über die Standardeingabe einzugeben. Eine Variable mit dem Namen MySecret kann beispielsweise mithilfe der UmgebungsvariableAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecreteingegeben werden.
Beispiel
Der folgende Befehl erstellt eine Variable in der Variablengruppe mit der ID 4. Die neue Variable wird mit dem Namen "erforderlich" bezeichnet und weist den Wert "True" auf, 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
Listenvariablen in einer Variablengruppe
Sie können die Variablen in einer Variablengruppe mit dem Befehl "az pipelines variable-group"-Variablenliste auflisten. Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "Erste Schritte mit Azure DevOps CLI".
az pipelines variable-group variable list --group-id
[--org]
[--project]
Parameter
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen 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 zum Aktualisieren der Variablenvariablen von az pipelines . Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "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
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- name: Erforderlich. Name der Variablen, die Sie hinzufügen.
- neuer Name: Optional. Geben Sie an, um den Namen der Variablen zu ändern.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. - prompt-value: Set to true to update the value of a secret variable using environment variable or prompt via standard input. Akzeptierte Werte sind "false " und "true".
- geheim: Optional. Gibt an, ob der Wert der Variable geheim gehalten wird. Akzeptierte Werte sind "false " und "true".
- wert: Aktualisiert den Wert der Variablen. Verwenden Sie für geheime Variablen den Eingabeaufforderungswertparameter , um ihn über die Standardeingabe einzugeben. Bei nicht interaktiven Konsolen kann sie von der Umgebungsvariable mit Präfix "ausgewählt" ausgewählt
AZURE_DEVOPS_EXT_PIPELINE_VAR_werden. Eine Variable mit dem Namen MySecret kann beispielsweise mithilfe der UmgebungsvariableAZURE_DEVOPS_EXT_PIPELINE_VAR_MySecreteingegeben werden.
Beispiel
Der folgende Befehl aktualisiert die erforderlich-Anmeldevariable mit dem neuen Wert False in der Variablengruppe mit der ID 4. Es gibt an, dass die Variable ein Geheimnis ist und das Ergebnis im YAML-Format anzeigt. Beachten Sie, dass die Ausgabe den Wert als NULL anstelle von False anzeigt, da es sich um einen geheimen ausgeblendeten Wert befindet.
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 eine Variable aus einer Variablengruppe mit dem Befehl zum Löschen der Variablengruppe az pipelines . Wenn die Azure DevOps-Erweiterung für CLI neu für Sie ist, lesen Sie "Erste Schritte mit Azure DevOps CLI".
az pipelines variable-group variable delete --group-id
--name
[--org]
[--project]
[--yes]
Parameter
- gruppen-ID: Erforderlich. ID der Variablengruppe. Informationen zum Suchen der Variablengruppen-ID finden Sie unter Listenvariablengruppen.
- name: Erforderlich. Name der Variablen, die Sie löschen.
- org: Azure DevOps-Organisations-URL. Konfigurieren Der Standardorganisation mithilfe
az devops configure -d organization=ORG_URLvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. Beispiel:--org https://dev.azure.com/MyOrganizationName/. - Projekt: Name oder ID des Projekts. Konfigurieren des Standardprojekts mithilfe
az devops configure -d project=NAME_OR_IDvon . Erforderlich, wenn sie nicht als Standard konfiguriert oder mitgit configder Verwendung aufgenommen wurde. - ja: Optional. Fordert keine Bestätigung auf.
Beispiel
Der folgende Befehl löscht die erforderlich-Anmeldevariable aus der Variablengruppe mit der ID 4 und fordert die Bestätigung ein.
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.
Verlinken von Geheimnissen aus einem Azure-Schlüsseltresor
Verknüpfen Sie einen vorhandenen Azure-Schlüsseltresor mit einer Variablengruppe und ordnen Sie selektive Tresorschlüssel der Variablengruppe zu.
Aktivieren Sie auf der Seite "Variablengruppen" "Schlüsselschlüssel verknüpfen" aus einem Azure-Schlüsseltresor als Variablen. Sie benötigen einen vorhandenen Schlüsseltresor, der Ihre Geheimnisse enthält. Erstellen Sie einen Schlüsseltresor mithilfe des Azure-Portals.

Geben Sie Ihren Azure-Abonnementendpunkt und den Namen des Tresors an, der Ihre Geheimnisse enthält.
Stellen Sie sicher, dass die Azure-Dienstverbindung mindestens über Berechtigungen zur Verwaltung von Abrufen und Listen auf dem Tresor für geheime Schlüssel verfügt. Aktivieren Sie Azure Pipelines, um diese Berechtigungen festzulegen, indem Sie "Autorisieren" neben dem Tresornamen auswählen. Oder legen Sie die Berechtigungen manuell im Azure-Portal fest:
- Öffnen Sie Einstellungen für den Tresor, und wählen Sie dann Access-Richtlinien>hinzufügen aus.
- Wählen Sie "Prinzipal auswählen" und dann den Dienstprinzipal für Ihr Clientkonto aus.
- Wählen Sie geheime Berechtigungen aus, und stellen Sie sicher, dass "Abrufen " und " Liste " Häkchen enthalten.
- Klicken Sie zum Speichern der Änderungen auf OK.
Wählen Sie auf der Seite "Variable Gruppen " +Hinzufügen aus, um bestimmte Geheimnisse aus Ihrem Tresor auszuwählen, um diese Variablengruppe zuzuordnen.
Verwalten von Schlüsseltresorschlüsseln
Weitere Informationen zum Verwalten von Geheimschlüsseln finden Sie in der folgenden Liste hilfreicher Tipps.
Nur die geheimen Namen werden der Variablengruppe zugeordnet, nicht die geheimen Werte. Der neueste geheime Wert, der aus dem Tresor abgerufen wird, wird in der Pipelineausführung verwendet, die mit der Variablengruppe verknüpft ist.
Alle Änderungen an vorhandenen Geheimen im Schlüsseltresor sind automatisch für alle Pipelines verfügbar, in der die variable Gruppe verwendet wird.
Wenn neue Geheimnisse aus dem Tresor hinzugefügt oder gelöscht werden, werden die zugeordneten Variablengruppen nicht automatisch aktualisiert. Die geheimen Schlüssel, die in der Variablengruppe enthalten sind, 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 von kryptografischen Schlüsseln und Geheimen in Azure. Derzeit unterstützt die Azure Pipelines-Variablengruppenintegration nur geheime Schlüssel 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 sie in einer YAML-Datei verwenden, entspricht es anderen definierten Variablen in der YAML-Datei. Weitere Informationen zur Rangfolge von Variablen finden Sie unter Variablen.
YAML wird in TFS nicht unterstützt.


