Variablengruppen verwalten
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
In diesem Artikel wird erläutert, wie Variablengruppen in Azure-Pipelines erstellt und verwendet werden. Variablengruppen speichern Werte und Secrets, die Sie an eine YAML-Pipeline übergeben oder über mehrere Pipelines in einem Projekt hinweg verfügbar machen können.
Secret-Variablen in Variablengruppen sind geschützte Ressourcen. Sie können Kombinationen von Genehmigungen, Überprüfungen und Pipelineberechtigungen hinzufügen, um den Zugriff auf Geheimnisvariablen in einer Variablengruppe zu beschränken. Der Zugriff auf Nicht-Secret-Variablen ist nicht durch Genehmigungen, Überprüfungen oder Pipelineberechtigungen eingeschränkt.
Variablengruppen folgen dem Bibliothekssicherheitsmodell für Rollen und Berechtigungen.
Voraussetzungen
- Eine Azure DevOps Services-Organisation und ein Projekt, in dem Sie über Berechtigungen zum Erstellen von Pipelines und Variablen verfügen.
- Ein Projekt in Ihrer Azure DevOps-Organisation oder Azure DevOps Server-Sammlung. Erstellen Sie ein Projekt, wenn Sie kein Projekt haben.
- Wenn Sie die Azure DevOps CLI verwenden, benötigen Sie Azure CLI Version 2.30.0 oder höher mit der Azure DevOps CLI-Erweiterung. Weitere Informationen finden Sie unter Erste Schritte mit der Azure DevOps-CLI.
- Eine Azure DevOps Server-Sammlung und ein Projekt, in dem Sie über Berechtigungen zum Erstellen von Pipelines und Variablen verfügen.
- Ein Projekt in Ihrer Azure DevOps-Organisation oder Azure DevOps Server-Sammlung. Erstellen Sie ein Projekt, wenn Sie kein Projekt haben.
Einrichten der CLI
Wenn Sie die Azure DevOps CLI verwenden, müssen Sie die CLI einrichten, um mit Ihrer Azure DevOps-Organisation und Ihrem Projekt zu arbeiten.
Melden Sie sich mit dem Az-Anmeldebefehl bei Ihrer Azure DevOps-Organisation an.
az login
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Abonnement aus der Liste aus, die im Terminalfenster angezeigt wird.
Stellen Sie sicher, dass Sie die neueste Version der Azure CLI und der Azure DevOps-Erweiterung mit den folgenden Befehlen ausführen.
az upgrade az extension add --name azure-devops --upgrade
In Azure DevOps CLI-Befehlen können Sie die Standardorganisation und das Standardprojekt mithilfe von:
az devops configure --defaults organization=<YourOrganizationURL> project=<Project Name or ID>`
Wenn Sie die Standardorganisation und das Standardprojekt nicht festgelegt haben, können Sie den
detect=true
Parameter in Ihren Befehlen verwenden, um den Organisations- und Projektkontext basierend auf Ihrem aktuellen Verzeichnis automatisch zu erkennen. Wenn die Standardwerte nicht konfiguriert oder erkannt werden, müssen Sie dieorg
Und-Parameterproject
in Ihren Befehlen explizit angeben.
Erstellen einer Variablengruppe
Sie können Variablengruppen für die Pipelineausführungen in Ihrem Projekt erstellen.
Hinweis
Um eine geheime Variablengruppe zu erstellen, um geheime Schlüssel aus einem Azure Key Vault als Variablen zu verknüpfen, befolgen Sie die Anweisungen unter "Verknüpfen einer Variablengruppe mit geheimen Schlüsseln" in Azure Key Vault.
Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines>Library im linken Menü.
Klicken Sie auf der Seite Bibliothek auf + Variablengruppe.
Geben Sie auf der Seite „Neue Variablengruppe“ unter Eigenschaften einen Namen und eine optionale Beschreibung für die Variablengruppe ein.
Wählen Sie unter Variablen + Hinzufügen und geben Sie dann einen Variablennamen und einen Wert ein, der in die Gruppe aufgenommen werden soll. Wenn Sie den Wert verschlüsseln und sicher speichern möchten, wählen Sie das Schlosssymbol neben der Variablen aus.
Wählen Sie + Hinzufügen, um die einzelnen neuen Variablen hinzuzufügen. Wenn Sie mit dem Hinzufügen von Variablen fertig sind, wählen Sie Speichern.
Sie können diese Variablengruppe jetzt in Projekt-Pipelines verwenden.
Aktualisieren von Variablengruppen
Sie können Variablengruppen mithilfe der Benutzeroberfläche von Azure Pipelines aktualisieren.
- Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines>Library im linken Menü.
- Wählen Sie auf der Seite Bibliothek die Variablengruppe aus, die Sie aktualisieren möchten. Sie können auch mit dem Mauszeiger auf den Variablengruppeneintrag zeigen, das Symbol Weitere Optionen und dann Bearbeiten im Menü auswählen.
- Ändern Sie auf der Seite der Variablengruppe eine der Eigenschaften, und wählen Sie dann Speichern.
Löschen einer Variablengruppe
Sie können Variablengruppen auf der Benutzeroberfläche von Azure Pipelines löschen.
- Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines>Library im linken Menü.
- Zeigen Sie auf der Seite Bibliothek auf die Variablengruppe, die Sie löschen möchten, und wählen Sie das Symbol Weitere Optionen.
- Wählen Sie im Menü Löschen und dann auf dem Bestätigungsbildschirm Löschen aus.
Verwalten von Variablen in Variablengruppen
Sie können Variablen in Variablengruppen mithilfe der Benutzeroberfläche von Azure Pipelines ändern, hinzufügen oder löschen.
- Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines>Library im linken Menü.
- Wählen Sie auf der Seite Bibliothek die Variablengruppe aus, die Sie aktualisieren möchten. Sie können auch mit dem Mauszeiger auf den Variablengruppeneintrag zeigen, das Symbol Weitere Optionen und dann Bearbeiten im Menü auswählen.
- Auf der Variablengruppenseite können Sie folgende Aktionen ausführen:
- Ändern der Variablennamen oder -werte.
- Löschen von Variablen, indem Sie das Papierkorbsymbol neben dem Variablennamen auswählen.
- Ändern von Variablen zu Secrets oder Non-Secrets, indem Sie das Schlosssymbol neben dem Variablenwert auswählen.
- Fügen Sie neue Variablen hinzu, indem Sie + Hinzufügen auswählen.
- Klicken Sie auf Speichern, nachdem Sie die Änderungen vorgenommen haben.
Verwenden von Variablengruppen in Pipelines
Sie können Variablengruppen in YAML- oder klassischen Pipelines verwenden. Änderungen, die Sie an einer Variablengruppe vornehmen, sind automatisch für alle Definitionen oder Phasen verfügbar, mit denen die Variablengruppe verknüpft ist.
Wenn Sie nur die Variablengruppe in YAML-Pipelines benennen, können alle, die per Push Code an Ihr Repository übermitteln können, den Inhalt der Secrets in der Variablengruppe extrahieren. Um daher eine Variablengruppe mit YAML-Pipelines zu verwenden, müssen Sie die Pipeline für die Verwendung der Gruppe autorisieren. Sie können eine Pipeline autorisieren, eine variable Gruppe auf der Benutzeroberfläche von Azure Pipelines oder mithilfe der Azure DevOps CLI zu verwenden.
Autorisierung über die Pipelines-Benutzeroberfläche
Sie können Pipelines für die Verwendung Ihrer Variablengruppen mithilfe der Benutzeroberfläche von Azure Pipelines autorisieren.
- Wählen Sie in Ihrem Azure DevOps-Projekt Pipelines>Library im linken Menü.
- Wählen Sie auf der Seite Bibliothek die Variablengruppe aus, die Sie autorisieren möchten.
- Wählen Sie auf der Seite mit der Variablengruppe die Registerkarte Pipelineberechtigungen aus.
- Wählen Sie auf dem Bildschirm Pipelineberechtigungen + und dann die zu autorisierende Pipeline aus. Oder wählen Sie das Symbol Weitere Aktionen, Offener Zugriff und dann zur Bestätigung erneut Offener Zugriff aus.
Wenn Sie eine Pipeline auswählen, wird diese Pipeline für die Verwendung der Variablengruppe autorisiert. Um eine weitere Pipeline zu autorisieren, wählen Sie das Symbol + erneut aus. Wenn Sie Offener Zugriff auswählen, werden alle Projekt-Pipelines zur Verwendung der Variablengruppe autorisiert. „Offener Zugriff“ bietet sich an, wenn Sie keine Secrets in der Gruppe haben.
Eine weitere Möglichkeit zur Autorisierung einer Variablengruppe ist die Auswahl von Bearbeiten und das anschließende Queueing eines Builds. Sie erhalten einen Ressourcenautorisierungsfehler und können die Pipeline dann explizit als autorisierter Benutzer der Variablengruppe hinzufügen.
Autorisierung über die Azure DevOps CLI
In Azure DevOps Services können Sie Variablengruppen mithilfe der Azure DevOps-CLI autorisieren.
Azure DevOps CLI-Befehle werden für Azure DevOps Server nicht unterstützt.
Um alle Projekt-Pipelines für die Verwendung der Variablengruppe zu autorisieren, legen Sie den Parameter authorize
im Befehl az pipelines variable-group create auf true
fest. Dieser offene Zugriff ist möglicherweise eine gute Option, wenn Sie keine geheimen Schlüssel in der Gruppe haben.
Verknüpfen einer Variablengruppe mit einer Pipeline
Nachdem Sie eine YAML-Pipeline für die Verwendung einer Variablengruppe autorisiert haben, können Sie Variablen innerhalb der Gruppe in der Pipeline verwenden.
Um Variablen aus einer Variablengruppe zu verwenden, fügen Sie einen Verweis auf den Gruppennamen in der YAML-Pipelinedatei hinzu.
variables:
- group: my-variable-group
Sie können auf mehrere Variablengruppen in derselben Pipeline verweisen. Wenn mehrere Variablengruppen die Variablen mit demselben Namen enthalten, legt die letzte Variablengruppe, die die Variable in der Datei verwendet, den Wert der Variablen fest. Weitere Informationen zur Rangfolge von Variablen finden Sie unter Erweiterung von Variablen.
Sie können auch auf eine Variablengruppe in einer Vorlage verweisen. Die folgende variables.yml-Vorlagendatei verweist auf die Variablengruppe my-variable-group
. Die Variablengruppe enthält eine Variable mit dem Namen myhello
.
variables:
- group: my-variable-group
Die YAML-Pipeline verweist auf die Vorlage variables.yml und verwendet die Variable $(myhello)
aus der Variablengruppe my-variable-group
.
stages:
- stage: MyStage
variables:
- template: variables.yml
jobs:
- job: Test
steps:
- script: echo $(myhello)
Verwenden von Variablen in einer verknüpften Variablengruppe
Sie greifen auf die Variablenwerte in einer verknüpften Variablengruppe genauso zu, wie Sie auf Variablen zugreifen, die Sie in der Pipeline definieren. Wenn Sie beispielsweise auf den Wert einer Variable mit dem Namen customer
in einer Variablengruppe zugreifen möchten, die mit der Pipeline verknüpft ist, können Sie $(customer)
in einem Task-Parameter oder einem Skript verwenden.
Wenn Sie sowohl eigenständige Variablen als auch Variablengruppen in Ihrer Pipelinedatei verwenden, verwenden Sie die name
-value
-Syntax für die eigenständigen Variablen.
variables:
- group: my-variable-group
- name: my-standalone-variable
value: 'my-standalone-variable-value'
Verwenden Sie Makrosyntax oder einen Laufzeitausdruck, um auf eine Variable in einer Variablengruppe zu verweisen. In den folgenden Beispielen verfügt die Gruppe my-variable-group
über eine Variable mit dem Namen myhello
.
So verwenden Sie einen Laufzeitausdruck:
variables:
- group: my-variable-group
- name: my-passed-variable
value: $[variables.myhello]
- script: echo $(my-passed-variable)
So verwenden Sie Makrosyntax:
variables:
- group: my-variable-group
steps:
- script: echo $(myhello)
Sie können nicht direkt in Skripts auf Secret-Variablen, einschließlich verschlüsselter Variablen und Key Vault-Variablen, zugreifen. Sie müssen diese Variablen als Argumente an eine Aufgabe übergeben. Weitere Informationen finden Sie unter Secret-Variablen.