Erstellen einer geschachtelten Vorlage

Abgeschlossen

Eine geschachtelte Vorlage ist eine wiederverwendbare YAML-Datei mit einer Reihe von Aufgaben, die aus einer anderen YAML-Datei aufgerufen werden können. Dieser Ansatz kann die Wartung und Verwaltung der Pipeline im Laufe der Zeit vereinfachen und die Duplizierung in der Pipelinekonfiguration reduzieren.

In dieser Lerneinheit erfahren Sie, wie Sie mithilfe von YAML-Pipelines in Azure DevOps eine geschachtelte Vorlage erstellen.

YAML-Vorlagen und Sicherheitsvorteile

Die Verwendung von Vorlagen in YAML-Pipelines kann mehrere Sicherheitsvorteile bieten, z. B.:

  • Verbesserte Geheimnisverwaltung: Geschachtelte Vorlagen können Ihnen helfen, vertrauliche Informationen wie Anmeldeinformationen, Geheimnisse und andere Konfigurationseinstellungen aus der Hauptbereitstellungspipeline zu abstrahieren, wodurch die Verwaltung und Sicherung dieser vertraulichen Elemente vereinfacht wird. Diese können an einem sichereren Speicherort oder in Azure Key Vault gespeichert werden, um die Offenlegung vertraulicher Informationen für nicht autorisierte Benutzer*innen zu verringern und unbefugten Zugriff auf kritische Ressourcen zu verhindern.
  • Geringeres Risiko von Datenschutzverletzungen: Indem Sie vertrauliche Informationen aus der Hauptbereitstellungspipeline abstrahieren, verringern Sie das Risiko von Datenschutzverletzungen, die auftreten können, wenn vertrauliche Informationen für nicht autorisierte Benutzer*innen verfügbar gemacht oder an einem unsicheren Speicherort gespeichert werden.
  • Vereinfachung von Berechtigungsverwaltung und Zugriff: Mit geschachtelten Vorlagen können Sie die Steuerung des Zugriffs auf die Vorlagen und Konfigurationsdateien besser verwalten und präzise steuern, wer auf bestimmte Pipelinekomponenten zugreifen und diese ändern kann.
  • Bessere Pipelineversionskontrolle: Durch die Aufteilung der Pipelinekonfiguration in kleinere, besser handhabbareTeile sind Änderungen und die Versionskontrolle leichter zu verwalten. So können Fehler und Konflikte vermieden werden, die zu Sicherheitsproblemen führen können.
  • Vereinfachte Pipelinewartung: Durch Anwenden der Vorteile geschachtelter Vorlagen ist es möglich, die Duplizierung in der Pipelinekonfiguration zu reduzieren und so die Wartung und Verwaltung der Pipeline im Laufe der Zeit zu vereinfachen.

Erstellen einer YAML-Datei für die geschachtelte Vorlage

Erstellen Sie in Ihrem Git-Repository eine YAML-Datei namens secure-template.yaml. Diese Datei enthält die Aufgaben der Pipeline, die Sie in anderen YAML-Dateien wiederverwenden möchten.

parameters:
  message: ''

steps:
- task: PowerShell@2
  inputs:
    targetType: Inline
    script: |
      Write-Host "${{ parameters.message }}"
      Write-Host "$(Secure)"

In diesem Beispiel definieren wir einen Parameter message und eine einzelne PowerShell-Aufgabe, die die Werte des Parameters ausgibt. Wir geben auch den Wert der Variablen Secure aus. Diese Variable wird im nächsten Schritt definiert.

Erstellen einer YAML-Datei für die Hauptpipeline

Erstellen Sie eine YAML-Datei namens main-pipeline.yaml für die Pipeline, die die geschachtelte Vorlage aufruft. Sie können die Eigenschaft template verwenden, um die geschachtelte Vorlage aufzurufen.

name: 'Pipeline templates'
stages:
- stage: Build
  displayName: 'Securing pipelines with templates'
  jobs:
  - job: Build
    pool:
      vmImage: windows-latest
    variables:
    - name: Secure
      value: 'Secret!'
    steps:
    - template: '../.secure/secure-template.yaml'
      parameters:
        message: 'This is from the main template!'

In diesem Beispiel rufen wir die Datei secure-template.yaml aus einem Ordner „.secure“ mithilfe der Eigenschaft template auf und übergeben die Werte der Parameter message und Secure an die geschachtelte Vorlage.

Erstellen einer neuen Pipeline

Navigieren Sie zu Ihrem Azure DevOps-Projekt, und erstellen Sie eine neue Pipeline. Wählen Sie das Repository und den Branch aus, in dem Sie die Änderungen committet haben. Wählen Sie die YAML-Datei für die Hauptpipeline (main-pipeline.yaml in unserem Beispiel) aus, und führen Sie die Pipeline aus.

Screenshot of Azure Pipelines showing how to create a new pipeline from an existing template.

Vergewissern Sie sich, dass die geschachtelte Vorlage aufgerufen wird und die Werte der Parameter ausgegeben werden.

Screenshot of Azure Pipelines showing the results from the main pipeline and nested template.

Probieren Sie es aus!

Erstellen Sie eine wiederverwendbare Vorlage für eine allgemeine Aufgabe in der Bereitstellungspipeline Ihrer Organisation. Dies kann vom Erstellen einer Ressourcengruppe bis hin zur Bereitstellung einer bestimmten Anwendung alle Aufgaben umfassen.

  1. Identifizieren Sie eine Aufgabe, die in der Bereitstellungspipeline Ihrer Organisation häufig ausgeführt wird.
  2. Erstellen Sie eine Vorlage, die zum Automatisieren dieser Aufgabe verwendet werden kann.
  3. Testen Sie die Vorlage, indem Sie sie in einer einfachen Bereitstellungspipeline verwenden.
  4. (Optional) Erwägen Sie das Erstellen einer neuen YAML-Pipeline, die die von Ihnen erstellte Vorlage verwendet, und konfigurieren Sie sie für die Verwendung der Tokenisierung zum Schützen vertraulicher Informationen.

Weitere Informationen zu Vorlagen und YAML-Pipelines finden Sie hier: