Pullen von Einstellungen aus App Configuration mit Azure Pipelines

Mit der Aufgabe Azure App Configuration werden Schlüsselwerte aus Ihrem App Configuration-Speicher gepullt und als Azure Pipeline-Variablen festgelegt, die von nachfolgenden Tasks verwendet werden können. Diese Aufgabe ergänzt die Aufgabe Azure App Configuration Push, mit der Schlüsselwerte aus einer Konfigurationsdatei in Ihren App Configuration-Speicher gepusht werden. Weitere Informationen finden Sie unter Pushen von Einstellungen an App Configuration mit Azure Pipelines.

Voraussetzungen

Erstellen einer Dienstverbindung

Über eine Dienstverbindung können Sie von Ihrem Azure DevOps-Projekt aus auf Ressourcen in Ihrem Azure-Abonnement zugreifen.

  1. Navigieren Sie in Azure DevOps zu dem Projekt, das Ihre Zielpipeline enthält. Wählen Sie in der unteren linken Ecke Projekteinstellungen aus.

  2. Klicken Sie unter Pipelines auf Dienstverbindungen. Wählen Sie in der oberen rechten Ecke Neue Dienstverbindung aus.

  3. Wählen Sie unter Neue Dienstverbindung die Option Azure Resource Manager aus.

    Screenshot shows selecting Azure Resource Manager from the New service connection dropdown list.

  4. Wählen Sie im Dialogfeld Authentifizierungsmethode die Option Dienstprinzipal (automatisch) aus, um einen neuen Dienstprinzipal zu erstellen. Alternativ können Sie Dienstprinzipal (manuell) auswählen, um einen vorhandenen Dienstprinzipal zu verwenden.

  5. Geben Sie Ihr Abonnement, die Ressourcengruppe sowie einen Namen für Ihre Dienstverbindung ein.

Wenn Sie einen neuen Dienstprinzipal erstellt haben, suchen Sie den Namen des Dienstprinzipals, der der Dienstverbindung zugewiesen ist. Diesem Dienstprinzipal wird im nächsten Schritt eine neue Rollenzuweisung hinzugefügt.

  1. Navigieren Sie zu Projekteinstellungen>Dienstverbindungen.

  2. Wählen Sie die neue Dienstverbindung aus.

  3. Wählen Sie Dienstprinzipal verwalten aus.

  4. Beachten Sie den Wert unter Anzeigename.

    Screenshot shows the service principal display name.

Rollenzuweisung hinzufügen

Weisen Sie den im Rahmen der Aufgabe verwendeten Anmeldeinformationen die passenden App Configuration-Rollenzuweisungen zu, damit von der Aufgabe auf den App Configuration-Speicher zugegriffen werden kann.

  1. Gehen Sie zu Ihrem App Configuration-Zielspeicher.

  2. Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.

  3. Wählen Sie im rechten Bereich Rollenzuweisungen hinzufügen aus.

    Screenshot shows the Add role assignments button.

  4. Wählen Sie unter Rolle die Option App Configuration-Datenleser aus. Diese Rolle ermöglicht der Aufgabe das Lesen im App Configuration-Speicher.

  5. Wählen Sie den Dienstprinzipal aus, der der Dienstverbindung zugeordnet ist, die Sie im vorherigen Abschnitt erstellt haben.

    Screenshot shows the Add role assignment dialog.

  6. Wählen Sie Überprüfen und zuweisen aus.

  7. Wenn der Speicher Key Vault-Verweise enthält, wechseln Sie zur entsprechenden Key Vault-Instanz, und weisen Sie dem im vorherigen Schritt erstellten Dienstprinzipal die Rolle Key Vault-Geheimnisbenutzer zu. Wählen Sie im Key Vault-Menü die Option Zugriffsrichtlinien aus, und stellen Sie sicher, dass die rollenbasierte Zugriffssteuerung in Azure als Berechtigungsmodell ausgewählt ist.

Verwenden in Builds

In diesem Abschnitt erfahren Sie, wie Sie die Aufgabe „Azure App Configuration“ in einer Azure DevOps-Buildpipeline verwenden.

  1. Klicken Sie auf Pipelines>Pipelines, um zur Seite für Buildpipelines zu navigieren. Eine Dokumentation zur Buildpipeline finden Sie unter Erstellen Ihrer ersten Pipeline.
    • Wenn Sie eine neue Buildpipeline erstellen, wählen Sie im letzten Schritt des Vorgangs auf der Registerkarte Review (Überprüfen) auf der rechten Seite der Pipeline Show assistant (Assistenten anzeigen) aus. Screenshot shows the Show assistant button for a new pipeline.
    • Wenn Sie eine vorhandene Buildpipeline verwenden, klicken Sie oben rechts auf die Schaltfläche Bearbeiten. Screenshot shows the Edit button for an existing pipeline.
  2. Suchen Sie nach der Aufgabe Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  3. Konfigurieren Sie die erforderlichen Parameter für die Aufgabe, um die Schlüsselwerte aus dem App Configuration-Speicher zu pullen. Die Parameter werden weiter unten im Abschnitt Parameter sowie in QuickInfos neben dem jeweiligen Parameter beschrieben.
    • Legen Sie den Parameter Azure subscription (Azure-Abonnement) auf den Namen der Dienstverbindung fest, die Sie in einem vorherigen Schritt erstellt haben.
    • Legen Sie den App Configuration-Endpunkt auf den Endpunkt Ihres App Configuration-Speichers fest.
    • Behalten Sie für die übrigen Parameter die Standardwerte bei. Screenshot shows the app configuration task parameters.
  4. Speichern Sie Ihre Angaben, und reihen Sie einen Build in die Warteschlange ein. Im Buildprotokoll werden alle Fehler angezeigt, die ggf. bei der Aufgabenausführung aufgetreten sind.

Verwenden in Releases

In diesem Abschnitt erfahren Sie, wie Sie die Aufgabe „Azure App Configuration“ in einer Azure DevOps-Releasepipeline verwenden.

  1. Wählen Sie Pipelines>Releases aus, um zur Seite für Releasepipelines zu navigieren. Eine Dokumentation zu Releasepipelines finden Sie unter Releasepipelines.
  2. Wählen Sie eine vorhandene Releasepipeline aus. Sollten Sie nicht über eine verfügen, wählen Sie Neue Pipeline aus, um eine zu erstellen.
  3. Wählen Sie rechts oben die Schaltfläche Bearbeiten aus, um die Releasepipeline zu bearbeiten.
  4. Wählen Sie im Dropdown Tasks (Aufgaben) die Stage (Phase) aus, in der Sie die Aufgabe hinzufügen möchten. Weitere Informationen zu Phasen finden Sie hier. Screenshot shows the selected stage in the Tasks dropdown.
  5. Klicken Sie neben dem Auftrag, dem Sie eine neue Aufgabe hinzufügen möchten, auf + . Screenshot shows the plus button next to the job.
  6. Suchen Sie nach der Aufgabe Azure App Configuration. Screenshot shows the Add Task dialog with Azure App Configuration in the search box.
  7. Konfigurieren Sie die erforderlichen Parameter in der Aufgabe, um Ihre Schlüsselwerte aus Ihrem App Configuration-Speicher zu pullen. Die Parameter werden weiter unten im Abschnitt Parameter sowie in QuickInfos neben dem jeweiligen Parameter beschrieben.
    • Legen Sie den Parameter Azure subscription (Azure-Abonnement) auf den Namen der Dienstverbindung fest, die Sie in einem vorherigen Schritt erstellt haben.
    • Legen Sie den App Configuration-Endpunkt auf den Endpunkt Ihres App Configuration-Speichers fest.
    • Behalten Sie für die übrigen Parameter die Standardwerte bei.
  8. Speichern Sie Ihre Angaben, und reihen Sie ein Release in die Warteschlange ein. Im Releaseprotokoll werden alle Fehler angezeigt, die ggf. bei der Aufgabenausführung aufgetreten sind.

Parameter

Von der Aufgabe „Azure App Configuration“ werden folgende Parameter verwendet:

  • Azure-Abonnement: Eine Dropdownliste mit Ihren verfügbaren Azure-Dienstverbindungen. Klicken Sie zum Aktualisieren der Liste mit den verfügbaren Azure-Dienstverbindungen rechts neben dem Textfeld auf die Schaltfläche Refresh Azure subscription (Azure-Abonnement aktualisieren).
  • App Configuration-Endpunkt: Eine Dropdownliste, in die Ihre verfügbaren Konfigurationsspeicherendpunkte unter dem ausgewählten Abonnement geladen werden. Klicken Sie zum Aktualisieren der Liste mit den verfügbaren Konfigurationsspeicherendpunkten rechts neben dem Textfeld auf die Schaltfläche App Configuration-Endpunkt aktualisieren.
  • Auswahlmodus: Gibt an, wie die aus einem Konfigurationsspeicher gelesenen Schlüsselwerte ausgewählt werden. Der Auswahlmodus „Standard“ ermöglicht die Verwendung von Schlüssel- und Bezeichnungsfiltern. Der Auswahlmodus „Momentaufnahme“ ermöglicht die Auswahl von Schlüsselwerten aus einer Momentaufnahme. Der Standardwert lautet Standard (Default).
  • Key Filter (Schlüsselfilter): Mit dem Filter können Sie auswählen, welche Schlüsselwerte von Azure App Configuration angefordert werden. Mit dem Wert „*“ werden alle Schlüsselwerte ausgewählt. Weitere Informationen finden Sie unter Abfragen von Schlüsselwerten.
  • Bezeichnung: Gibt an, welche Bezeichnung beim Auswählen von Schlüsselwerten aus dem App Configuration-Speicher verwendet werden soll. Wenn keine Bezeichnung angegeben wird, werden Schlüsselwerte ohne eine Bezeichnung abgerufen. Die folgenden Zeichen sind nicht zulässig: „,“, „*“.
  • Name der Momentaufnahme: Gibt eine Momentaufnahme an, aus der Schlüsselwerte in Azure App Configuration abgerufen werden sollen.
  • Trim Key Prefix (Schlüsselpräfix kürzen): Geben Sie Präfixe an, die von App Configuration-Schlüsseln abgeschnitten werden sollen, bevor diese als Variablen festgelegt werden. Mehrere Präfixe können Sie durch einen Zeilenumbruch voneinander trennen.
  • Unterdrücken der Warnung für außer Kraft gesetzte Schlüssel: Der Standardwert ist deaktiviert. Gibt an, ob Warnungen angezeigt werden sollen, wenn vorhandene Schlüssel außer Kraft gesetzt werden. Aktivieren Sie diese Option, wenn erwartet wird, dass die von App Configuration heruntergeladenen Schlüssel überlappende Schlüssel mit den in Pipelinevariablen vorhandenen Schlüsseln aufweisen.

Verwenden von Schlüsselwerten in nachfolgenden Aufgaben

Die aus App Configuration abgerufenen Schlüsselwerte werden als Pipelinevariablen festgelegt, auf die als Umgebungsvariablen zugegriffen werden kann. Der Schlüssel einer solchen Umgebungsvariable ist der Schlüssel des Schlüssel-Wert-Paars, das aus App Configuration abgerufen wurde, nachdem das Präfix gekürzt wurde (sofern angegeben).

Wenn eine nachfolgende Aufgabe beispielsweise ein PowerShell-Skript ausführt, könnte sie einen Schlüsselwert mit dem Schlüssel „myBuildSetting“ wie folgt verwenden:

echo "$env:myBuildSetting"

Der Wert wird an der Konsole ausgegeben.

Hinweis

Azure Key Vault-Verweise in der App-Konfiguration werden aufgelöst und als geheime Variablen festgelegt. In Azure-Pipelines werden geheime Variablen aus dem Protokoll maskiert. Sie werden nicht als Umgebungsvariablen an Aufgaben übermittelt und müssen stattdessen als Eingaben übermittelt werden.

Problembehandlung

Sollte ein unerwarteter Fehler auftreten, können Sie Debugprotokolle aktivieren, indem Sie die Pipelinevariable system.debug auf true festlegen.

Häufig gestellte Fragen

Wie stelle ich meine Konfiguration aus mehreren Schlüsseln und Bezeichnungen zusammen?

Es kann vorkommen, dass eine Konfiguration aus mehreren Bezeichnungen zusammengestellt werden muss, z. B. „default“ und „dev“. Sie können mehrere App Configuration-Aufgaben in einer Pipeline verwenden, um dieses Szenario umzusetzen. Schlüsselwerte, die von einer Aufgabe in einem späteren Schritt abgerufen werden, ersetzen alle Werte aus den vorherigen Schritten. Im obigen Beispiel können mit einer Aufgabe Schlüsselwerte mit der Bezeichnung „default“ ausgewählt werden, während mit einer zweiten Aufgabe Schlüsselwerte mit der Bezeichnung „dev“ ausgewählt werden. Die Schlüssel mit der Bezeichnung „dev“ überschreiben dieselben Schlüssel mit der Bezeichnung „default“.