Importieren von Einstellungen aus App Configuration mit Azure Pipelines
Mit der Azure App Configuration-Importaufgabe werden Schlüsselwerte aus einer Konfigurationsdatei in Ihren App Configuration-Speicher gepusht. Diese Aufgabe bietet umfassende Funktionen für die Pipeline, da Sie nun Einstellungen aus dem App Configuration-Speicher exportieren sowie Einstellungen in den App Configuration-Speicher importieren können.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- App Configuration-Speicher – kostenlos erstellen
- Azure DevOps-Projekt (kostenlos erstellen)
- Azure Pipelines-Agent Version 2.144.0 oder höher und Node Version 16 oder höher für die Ausführung der Aufgabe auf selbstgehosteten Agents.
Erstellen einer Dienstverbindung
Über eine Dienstverbindung können Sie von Ihrem Azure DevOps-Projekt aus auf Ressourcen in Ihrem Azure-Abonnement zugreifen.
Navigieren Sie in Azure DevOps zu dem Projekt, das Ihre Zielpipeline enthält. Wählen Sie in der unteren linken Ecke Projekteinstellungen aus.
Klicken Sie unter Pipelines auf Dienstverbindungen. Wählen Sie in der oberen rechten Ecke Neue Dienstverbindung aus.
Wählen Sie unter Neue Dienstverbindung die Option Azure Resource Manager aus.
Wählen Sie im Dialogfeld Authentifizierungsmethode die Option Workload-Identitätsverbund (automatisch) aus, um einen neuen Workload-Identitätsverbund zu erstellen, oder wählen Sie die Option Workload-Identitätsverbund (manuell) aus, um einen vorhandenen Workload-Identitätsverbund zu verwenden.
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.
Navigieren Sie zu Projekteinstellungen>Dienstverbindungen.
Wählen Sie die neue Dienstverbindung aus.
Wählen Sie Dienstprinzipal verwalten aus.
Beachten Sie den Wert unter Anzeigename.
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.
Gehen Sie zu Ihrem App Configuration-Zielspeicher.
Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.
Wählen Sie im rechten Bereich Rollenzuweisungen hinzufügen aus.
Wählen Sie für Rolle die Option App Configuration-Datenbesitzer aus. Diese Rolle ermöglicht der Aufgabe das Ausführen von Lese- und Schreibvorgängen für den App Configuration-Speicher.
Wählen Sie den Dienstprinzipal aus, der der Dienstverbindung zugeordnet ist, die Sie im vorherigen Abschnitt erstellt haben.
Wählen Sie Überprüfen und zuweisen aus.
Verwenden in Builds
In diesem Abschnitt erfahren Sie, wie Sie Azure App Configuration-Importaufgabe in einer Azure DevOps-Buildpipeline verwenden.
- Klicken Sie auf Pipelines>Pipelines, um zur Seite für Buildpipelines zu navigieren. Weitere Informationen zu Buildpipelines 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.
- Wenn Sie eine vorhandene Buildpipeline verwenden, klicken Sie oben rechts auf die Schaltfläche Bearbeiten.
- 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.
- Suchen Sie nach der Aufgabe Azure App Configuration-Import.
- Konfigurieren Sie die erforderlichen Parameter für die Aufgabe, um die Schlüsselwerte aus der Konfigurationsdatei in den App Configuration-Speicher zu importieren. Die Parameter werden im Abschnitt Parameter sowie in QuickInfos neben dem jeweiligen Parameter erläutert.
- 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 Azure App Configuration-Importaufgabe in einer Azure DevOps-Releasepipeline verwenden.
- Wählen Sie Pipelines>Releases aus, um zur Seite für Releasepipelines zu navigieren. Weitere Informationen zu Releasepipelines finden Sie unter Erstellen Ihrer ersten Releasepipeline.
- Wählen Sie eine vorhandene Releasepipeline aus. Sollten Sie über keine verfügen, wählen Sie + Neu aus, um eine zu erstellen.
- Wählen Sie rechts oben die Schaltfläche Bearbeiten aus, um die Releasepipeline zu bearbeiten.
- Wählen Sie im Dropdown Tasks (Aufgaben) die Stage (Phase) aus, in der Sie die Aufgabe hinzufügen möchten. Weitere Informationen zu den Phasen finden Sie unter Hinzufügen von Phasen, Abhängigkeiten und Bedingungen.
- Klicken Sie neben dem Auftrag, dem Sie eine neue Aufgabe hinzufügen möchten, auf + .
- Geben Sie im Dialogfeld Aufgaben hinzufügen die Zeichenfolge Azure App Configuration-Import in das Suchfeld ein, und wählen Sie es aus.
- Konfigurieren Sie die erforderlichen Parameter in der Aufgabe, um Ihre Schlüsselwerte aus Ihrer Konfigurationsdatei in Ihren App Configuration-Speicher zu importieren. Die Parameter werden im Abschnitt Parameter sowie in QuickInfos neben dem jeweiligen Parameter erläutert.
- 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-Import“ 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.
- Konfigurationsdateipfad: Der Pfad zu Ihrer Konfigurationsdatei. Der Parameter Konfigurationsdateipfad beginnt am Stamm des Dateirepositorys. Sie können Ihr Buildartefakt durchsuchen, um eine Konfigurationsdatei auszuwählen. (Verwenden Sie hierzu die Schaltfläche
...
rechts neben dem Textfeld.) Die unterstützten Dateiformate hängen vom Dateiinhaltsprofil ab. Für das Standardprofil sind die unterstützten Dateiformate YAML, JSON und PROPERTIES. Für das KvSet-Profil ist das unterstützte Dateiformat JSON. - Dateiinhaltsprofil: Das Inhaltsprofil der Konfigurationsdatei. Der Standardwert lautet Standard (Default).
- Standard (Default): Bezieht sich auf die herkömmlichen Konfigurationsdateiformate, die von Anwendungen direkt verwendet werden können.
- KVSet: Bezieht sich auf ein Dateischema, das alle Eigenschaften eines App Configuration-Schlüssel-Wert-Paars enthält, einschließlich Schlüssel, Wert, Bezeichnung, Inhaltstyp und Tags. Die Aufgabenparameter „Trennzeichen“, „Label“, „Inhaltstyp“, „Präfix“, „Tags“ und „Tiefe“ (Separator, Label, Content Type, Prefix, Tags, Depth) sind bei Verwendung des Kvset-Profils nicht anwendbar.
- Importmodus: Der Standardwert ist Alle. Bestimmt das Verhalten beim Importieren von Schlüssel-Wert-Paaren.
- Alle: Importiert alle Schlüssel-Wert-Paare aus der Konfigurationsdatei in App Configuration.
- Ignore-Match (Übereinstimmung ignorieren): Importiert nur Einstellungen, für die kein übereinstimmendes Schlüssel-Wert-Paar in App Configuration vorhanden ist. Übereinstimmende Schlüssel-Wert-Paare werden als Schlüssel-Wert-Paare mit demselben Schlüssel, derselben Bezeichnung, demselben Wert, Inhaltstyp und denselben Tags betrachtet.
- Trockenlauf (Dry Run): Der Standardwert ist Deaktiviert.
- Aktiviert: Es werden keine Updates für App Configuration ausgeführt. Stattdessen werden alle Updates, die bei einer normalen Ausführung erfolgt wären, zur Überprüfung in die Konsole ausgegeben.
- Deaktiviert: Es werden alle Updates für App Configuration ohne Ausgabe in die Konsole ausgeführt.
- Trennzeichen: Das Trennzeichen zum Vereinfachen von JSON- und YML-Dateien.
- Tiefe: Die Tiefe für die Vereinfachung der JSON- und YML-Dateien.
- Präfix: Eine Zeichenfolge, die jedem Schlüssel vorangestellt wird, der in den App Configuration-Speicher importiert wird.
- Bezeichnung: Eine Zeichenfolge, die jedem Schlüsselwert als Bezeichnung im App Configuration-Speicher hinzugefügt wird.
- Inhaltstyp: Eine Zeichenfolge, die jedem Schlüsselwert als Inhaltstyp im App Configuration-Speicher hinzugefügt wird.
- Tags: Ein JSON-Objekt im Format
{"tag1":"val1", "tag2":"val2"}
zum Definieren von Tags, die den einzelnen Schlüsselwerten hinzugefügt werden, die in Ihren App Configuration-Speicher importiert werden. - Schlüssel-Wert-Paare löschen, die nicht in der Konfigurationsdatei enthalten sind: Der Standardwert ist Deaktiviert. Das Verhalten dieser Option hängt vom Inhaltsprofil der Konfigurationsdatei ab.
- Aktiviert:
- Standardinhaltsprofil: Entfernt alle Schlüssel-Wert-Paare, die sowohl dem angegebenen Präfix als auch der angegebenen Bezeichnung entsprechen, aus dem App Configuration-Speicher, bevor neue Schlüssel-Wert-Paare aus der Konfigurationsdatei importiert werden.
- Kvset-Inhaltsprofil: Entfernt alle Schlüssel-Wert-Paare, die nicht in der Konfigurationsdatei enthalten sind, aus dem App Configuration-Speicher, bevor neue Schlüssel-Wert-Paare aus der Konfigurationsdatei importiert werden.
- Deaktiviert: Alle Schlüsselwerte werden aus der Konfigurationsdatei in den App Configuration-Speicher importiert, und alles andere im App Configuration-Speicher bleibt erhalten.
- Aktiviert:
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 kann ich mehrere Konfigurationsdateien hochladen?
Um mehrere Konfigurationsdateien in den App Configuration-Speicher zu importieren, erstellen Sie mehrere Instanzen der Azure App Configuration-Importaufgabe innerhalb derselben Pipeline.
Wie kann ich mithilfe dieser Aufgabe Key Vault-Verweise oder Featureflags erstellen?
Je nach ausgewähltem Dateiinhaltsprofil finden Sie Beispiele unter Azure App Configuration-Unterstützung für die Konfigurationsdatei.
Warum erhalte ich einen Fehler vom Typ 409, wenn ich versuche, Schlüsselwerte in meinen Konfigurationsspeicher zu importieren?
Eine Fehlermeldung vom Typ „409 – Konflikt“ wird ausgegeben, wenn die Aufgabe versucht, einen Schlüsselwert zu entfernen oder zu überschreiben, der im App Configuration-Speicher gesperrt ist.
Nächster Schritt
Eine vollständige Referenz zu den Parametern oder zur Verwendung dieser Pipelineaufgabe in YAML-Pipelines finden Sie im folgenden Dokument.
Wenn Sie erfahren möchten, wie Sie Schlüsselwerte aus Ihrem App-Konfigurationsspeicher exportieren und als Azure-Pipelinevariablen festlegen, fahren Sie mit dem folgenden Dokument fort.
Wenn Sie erfahren möchten, wie eine Momentaufnahme in einem App Configuration-Speicher erstellt wird, fahren Sie mit dem folgenden Dokument fort.