Konfigurieren von Pipelines für die sichere Verwendung von Variablen und Parametern
In diesem Lab lernen Sie, wie Sie Pipelines für die sichere Verwendung von Variablen und Parametern konfigurieren.
Diese Übung dauert ca. 20 Minuten.
Vorbereitung
Sie benötigen ein Azure-Abonnement, eine Azure DevOps-Organisation und die eShopOnWeb-Anwendung, um den Labs zu folgen.
- Folgen Sie den Schritten, um Ihre Lab-Umgebung zu überprüfen.
Anweisungen
Übung 1: Sicherstellen von Parameter- und Variablentypen
Aufgabe 1: (überspringen, wenn erledigt) Importieren und Ausführen der CI-Pipeline
Beginnen wir mit dem Importieren der CI-Pipeline mit dem Namen eshoponweb-ci.yml.
-
Navigieren Sie zum Azure DevOps-Portal unter
https://aex.dev.azure.com
und öffnen Sie Ihre Organisation. -
Öffnen Sie das Projekt eShopOnWeb in Azure DevOps.
-
Navigieren Sie zu Pipelines > Pipelines.
-
Wählen Sie die Schaltfläche Pipeline erstellen aus.
-
Wählen Sie Azure Repos Git (Yaml).
-
Wählen Sie das Repository eShopOnWeb aus.
-
Wählen Sie die Option Vorhandene Azure Pipelines-YAML-Datei aus.
-
Wählen Sie die Datei /.ado/eshoponweb-ci.yml aus und klicken Sie dann auf Weiter.
-
Klicken Sie auf die Schaltfläche Ausführen, um die Pipeline auszuführen.
Hinweis: Ihre Pipeline bekommt einen Namen basierend auf dem Projektnamen. Sie benennen die Pipeline um, damit leichter zu identifizieren ist.
-
Wechseln Sie zu Pipelines > Pipelines und wählen Sie die zuletzt erstellte Pipeline aus. Wählen Sie die Auslassungspunkte und dann die Option Umbenennen/verschieben aus.
-
Geben Sie ihr den Namen eshoponweb-ci, und wählen Sie Speichern aus.
Aufgabe 2: Sicherstellen von Parametertypen für YAML-Pipelines
In dieser Aufgabe legen Sie Parameter- und Parametertypen für die Pipeline fest.
-
Wechseln Sie zu Pipelines > Pipelines, und wählen Sie die eshoponweb-ci-Pipeline aus.
-
Wählen Sie Bearbeiten aus.
-
Fügen Sie die folgenden Parameter oberhalb der Abschnitte für die Jobs am Anfang der YAML-Datei hinzu:
parameters: - name: dotNetProjects type: string default: '**/*.sln' - name: testProjects type: string default: 'tests/UnitTests/*.csproj' jobs: - job: Build pool: eShopOnWebSelfPool steps:
-
Ersetzen Sie die fest einprogrammierten Pfade in den Aufgaben „Wiederherstellen“, „Erstellen“ und „Testen“ durch die soeben erstellten Parameter.
- Projekte ersetzen:
**/*.sln
mit Projekten:$
in den AufgabenRestore
undBuild
; - Projekte ersetzen:
tests/UnitTests/*.csproj
mit Projekten:$
in der AufgabeTest
;
Die Aufgaben „Wiederherstellen“, „Erstellen“ und „Testen“ im Schritte-Abschnitt der YAML-Datei sollten wie folgt aussehen:
steps: - task: DotNetCoreCLI@2 displayName: Restore inputs: command: 'restore' projects: $ feedsToUse: 'select' - task: DotNetCoreCLI@2 displayName: Build inputs: command: 'build' projects: $ - task: DotNetCoreCLI@2 displayName: Test inputs: command: 'test' projects: $
- Projekte ersetzen:
-
Klicken Sie auf Überprüfen und speichern, um die Änderungen zu speichern, und klicken Sie dann auf Speichern.
-
Navigieren Sie zu Pipelines > Pipelines und öffnen Sie die eshoponweb-ci Pipeline, die automatisch ausgelöst wird.
-
Stellen Sie sicher, dass die Pipelineausführung erfolgreich abgeschlossen wird.
Aufgabe 3: Variablen und Parameter sichern
In dieser Aufgabe sichern Sie die Variablen und Parameter aus Ihrer Pipeline mithilfe von Variablengruppen.
-
Wechseln Sie zu Pipelines > Library.
-
Wählen Sie die Schaltfläche + Variablengruppe, um eine neue Variablengruppe mit dem Namen
BuildConfigurations
zu erstellen. -
Fügen Sie eine Variable namens
buildConfiguration
hinzu und setzen Sie ihren Wert aufRelease
. -
Speichern Sie die Variablengruppe.
-
Wählen Sie die Schaltfläche Pipelineberechtigungen und dann die Schaltfläche + aus, um eine neue Pipeline hinzuzufügen.
-
Wählen Sie die eshoponweb-ci-Pipeline, damit die Pipeline die Variablengruppe verwenden kann.
Hinweis: Sie können auch bestimmten Benutzern oder Gruppen die Möglichkeit geben, die Variablengruppe zu bearbeiten, indem Sie auf die Schaltfläche Sicherheit klicken.
-
Navigieren Sie zu Pipelines > Pipelines.
-
Öffnen Sie die Pipeline eshoponweb-ci, und wählen Sie Bearbeiten aus.
-
Verweisen Sie oben in der YML-Datei direkt unter den Parametern auf die Variablengruppe, indem Sie Folgendes hinzufügen:
variables: - group: BuildConfigurations
-
Fügen Sie in der Aufgabe „Erstellen” den Konfigurationsparameter zur Aufgabe hinzu, um die Buildkonfiguration aus der Variablengruppe zu verwenden.
command: 'build' projects: $ configuration: $(buildConfiguration)
-
Klicken Sie auf Überprüfen und speichern, um die Änderungen zu speichern, und klicken Sie dann auf Speichern.
-
Öffnen Sie den Eshoponweb-ci Pipelinelauf. Es sollte erfolgreich laufen, wenn die Build-Konfiguration auf „Freigabe“ eingestellt ist. Sie können dies überprüfen, indem Sie sich die Protokolle der Aufgabe „Erstellen“ ansehen.
Hinweis: Wenn die Buildkonfiguration in den Protokollen nicht auf “Freigabe” festgelegt ist, aktivieren Sie die Systemdiagnose, und führen Sie die Pipeline erneut aus, um den Konfigurationswert anzuzeigen.
Anmerkung: Mit diesem Ansatz können Sie Ihre Variablen und Parameter durch die Verwendung von Variablengruppen absichern, ohne sie in YAML-Dateien hardcodieren zu müssen.
Aufgabe 4: Obligatorische Variablen und Parameter überprüfen
In dieser Aufgabe überprüfen Sie die obligatorischen Variablen, bevor die Pipeline ausgeführt wird.
-
Navigieren Sie zu Pipelines > Pipelines.
-
Öffnen Sie die Pipeline eshoponweb-ci, und wählen Sie Bearbeiten aus.
-
Fügen Sie im Abschnitt „Schritte“ ganz am Anfang (nach der Zeile Schritte:) eine neue Skriptaufgabe hinzu, um die obligatorischen Variablen zu validieren, bevor die Pipeline ausgeführt wird.
- script: | IF NOT DEFINED buildConfiguration ( ECHO Error: buildConfiguration variable is not set EXIT /B 1 ) displayName: 'Validate Variables'
Hinweis: Dies ist eine einfache Validierung, um zu überprüfen, ob die Variable festgelegt ist. Wenn die Variablen nicht festgelegt sind, schlägt das Skript fehl, und die Pipeline wird beendet. Sie können eine komplexere Überprüfung hinzufügen, um den Wert der Variablen zu überprüfen oder wenn sie auf einen bestimmten Wert festgelegt ist.
-
Klicken Sie auf Überprüfen und speichern, um die Änderungen zu speichern, und klicken Sie dann auf Speichern.
-
Öffnen Sie den Eshoponweb-ci Pipelinelauf. Sie wird erfolgreich ausgeführt, da die buildConfiguration-Variable in der Variablengruppe festgelegt ist.
-
Um die Validierung zu testen, entfernen Sie die buildConfiguration-Variable aus der Variablengruppe, oder benennen Sie die Variable um, und führen Sie die Pipeline erneut aus. Bei folgendem Fehler sollte es fehlschlagen:
Error: buildConfiguration variable is not set
-
Fügen Sie die Variable buildConfiguration wieder zur Variablengruppe hinzu und führen Sie die Pipeline erneut aus. Es sollte erfolgreich ausgeführt werden.
[!IMPORTANT] Denken Sie daran, die im Azure-Portal erstellten Ressourcen zu löschen, um unnötige Gebühren zu vermeiden.
Überprüfung
In diesem Lab haben Sie gelernt, wie Sie Pipelines für die sichere Verwendung von Variablen und Parametern konfigurieren und wie Sie obligatorische Variablen und Parameter überprüfen.