Erneutes Schreiben der Hauptbereitstellungspipeline

Abgeschlossen

Mit Azure Pipelines können Sie Build- und Releaseprozesse mithilfe von YAML-Vorlagen definieren. Vorlagen sind wiederverwendbar und ermöglichen es Ihnen, Ihre Pipelines deklarativ zu definieren. Dies bedeutet, dass Sie Ihre Pipelines als Code definieren, den Code in Ihr Quellcodeverwaltungsrepository committen und ihn wie jeden anderen Code versionieren und verwalten lassen können.

In dieser Lerneinheit untersuchen Sie die Vorlagentypen für die Verwendung von YAML-Vorlagen in Azure Pipelines und schreiben die Hauptbereitstellungspipeline anhand von Beispielen für die Vorlagenverwendung neu.

Vorlagentypen und -verwendung

Azure Pipelines unterstützt vier Vorlagentypen:

  • Stagevorlage : Sie können eine Stagevorlage verwenden, um eine Stage zu definieren, die Sie in mehreren Pipelines wiederverwenden möchten. Beispielsweise können Sie eine Stagevorlage angeben, die eine Anwendung für eine bestimmte Umgebung bereitstellt. Sie können die Stagevorlage in mehreren Pipelines wiederverwenden, um die Anwendung in verschiedenen Umgebungen bereitzustellen.

  • Auftragsvorlage: Sie können eine Auftragsvorlage definieren, die eine bestimmte Anwendung erstellt. Sie können die Auftragsvorlage in mehreren Pipelines wiederverwenden, um die Anwendung für verschiedene Plattformen zu erstellen.

  • Schrittvorlage: Sie können eine Schrittvorlage definieren, die eine Ressourcengruppe erstellt. Die Schrittvorlage kann in mehreren Pipelines wiederverwendet werden, um eine Ressourcengruppe für verschiedene Anwendungen zu erstellen.

  • Variablenvorlage: Sie können eine Variablenvorlage definieren, die eine Verbindungszeichenfolge zu einer Datenbank erstellt. Sie können die Variablenvorlage in mehreren Pipelines wiederverwenden, um eine Verbindung mit der Datenbank herzustellen.

Stagevorlage

Sie können eine Reihe von Phasen in einer Datei definieren und mehrmals in anderen Dateien verwenden.

In diesem Beispiel wird eine Stage zweimal für zwei Testzwecke wiederholt. Die Stufe selbst wird nur einmal angegeben.

# File: stages/test.yaml

parameters:
  name: ''
  testFile: ''

stages:

- stage: Test_${{ parameters.name }}
  jobs:

  - job: ${{ parameters.name }}_Windows
    pool:
      vmImage: windows-latest
    steps:

    - script: npm install
    - script: npm test -- --file=${{ parameters.testFile }}

  - job: ${{ parameters.name }}_Mac
    pool:
      vmImage: macOS-latest
    steps:

    - script: npm install
    - script: npm test -- --file=${{ parameters.testFile }}

Pipeline mit Vorlagen:

# File: stages/test.yaml

stages:

- template: stages/test.yaml # Template reference
  parameters:
    name: Mini
    testFile: tests/miniSuite.js

- template: stages/test.yaml
  parameters:
    name: Full
    testFile: tests/fullSuite.js

Auftragsvorlagen

Sie können eine Reihe von Aufträgen in einer Datei definieren und mehrmals in anderen Dateien verwenden.

In diesem Beispiel wird ein einzelner Auftrag auf drei Plattformen wiederholt. Der Auftrag selbst wird nur einmal angegeben.

# File: jobs/build.yaml

parameters:
  name: ''
  pool: ''
  sign: false

jobs:

- job: ${{ parameters.name }}
  pool: ${{ parameters.pool }}
  steps:

  - script: npm install
  - script: npm test

  - ${{ if eq(parameters.sign, 'true') }}:
    - script: sign

Pipeline mit Vorlagen:

# File: azure-pipelines.yaml

jobs:

- template: jobs/build.yaml  # Template reference
  parameters:
    name: macOS
    pool:
      vmImage: 'macOS-latest'


- template: jobs/build.yaml  # Template reference
  parameters:
    name: Linux
    pool:
      vmImage: 'ubuntu-latest'


- template: jobs/build.yaml  # Template reference
  parameters:
    name: Windows
    pool:
      vmImage: 'windows-latest'
    sign: true  # Extra step on Windows only

Schrittvorlagen

Sie können in einer Datei eine Reihe von Schritten definieren und diese mehrmals in einer anderen verwenden.

# File: steps/build.yaml

steps:

- script: npm install
- script: npm test

Pipeline mit Vorlagen:

# File: azure-pipelines.yaml

jobs:

- job: macOS
  pool:
    vmImage: 'macOS-latest'
  steps:

  - template: steps/build.yaml # Template reference


- job: Linux
  pool:
    vmImage: 'ubuntu-latest'
  steps:

  - template: steps/build.yaml # Template reference


- job: Windows
  pool:
    vmImage: 'windows-latest'
  steps:

  - template: steps/build.yaml # Template reference
  - script: sign              # Extra step on Windows only

Variablenvorlagen

Sie können eine Reihe von Variablen in einer Datei definieren und mehrmals in anderen Dateien verwenden.

In diesem Beispiel wird ein Reihe von Variablen für mehrere Pipelines wiederholt. Die Variablen werden nur einmal angegeben.

# File: variables/build.yaml
variables:

- name: vmImage
  value: windows-latest

- name: arch
  value: x64

- name: config
  value: debug

Pipelines mit Vorlagen:

# File: component-x-pipeline.yaml
variables:

- template: variables/build.yaml  # Template reference
pool:
  vmImage: ${{ variables.vmImage }}
steps:

- script: build x ${{ variables.arch }} ${{ variables.config }}

# File: component-y-pipeline.yaml
variables:

- template: variables/build.yaml  # Template reference
pool:
  vmImage: ${{ variables.vmImage }}
steps:

- script: build y ${{ variables.arch }} ${{ variables.config }}

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.

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