Share via


Hinzufügen und Konfigurieren einer Umgebungsdefinition

In diesem Artikel wird erläutert, wie Sie eine Umgebungsdefinition in einem Azure Deployment Environments-Katalog hinzufügen, aktualisieren oder löschen. Außerdem wird erklärt, wie Sie auf ein Containerimage verweisen, um Ihre Umgebung bereitzustellen.

In Azure Deployment Environments stellen Sie Ihren Entwicklungsteams über einen Katalog eine zusammengestellte Menge vordefinierter Infrastructure-as-Code-Vorlagen (IaC) zur Verfügung, die so genannten Umgebungsdefinitionen.

Eine Umgebungsdefinition besteht aus mindestens zwei Dateien:

  • Eine Vorlage aus einem IaC-Framework. Beispiel:
    • Eine Azure Resource Manager-Vorlage (ARM-Vorlage) kann eine Datei namens azuredeploy.json verwenden.
    • Eine Bicep-Vorlage kann eine Datei namens main.bicep verwenden.
    • Eine Terraform-Vorlage kann eine Datei namens azuredeploy.tf verwenden.
  • Eine Konfigurationsdatei, die Metadaten zur Vorlage bereitstellt. Diese Datei sollte den Namen environment.yaml tragen.

Mithilfe der Umgebungsdefinitionen, die Sie im Katalog bereitstellen, können Ihre Entwicklungsteams Umgebungen in Azure bereitstellen.

Microsoft bietet einen Beispielkatalog, den Sie als Ihr Repository verwenden können. Sie können auch mit Ihrem eigenen privaten Repository arbeiten oder die Umgebungsdefinitionen im Beispielkatalog forken und anpassen.

Nachdem Sie Ihrem Dev Center einen Katalog hinzugefügt haben, durchsucht der Dienst den angegebenen Ordnerpfad, um Ordner mit einer Vorlage und zugehörigen Umgebungsdatei zu bestimmen. Der angegebene Ordnerpfad muss ein Ordner sein, der Unterordner mit den Umgebungsdefinitionsdateien enthält.

Hinzufügen einer Umgebungsdefinition

Um eine Umgebungsdefinition zu einem Katalog in Azure Deployment Environments (ADE) hinzuzufügen, fügen Sie zunächst die Dateien zum Repository hinzu. Anschließend synchronisieren Sie den Entwicklungszentrumskatalog mit dem aktualisierten Repository.

So fügen Sie eine Umgebungsdefinition hinzu:

  1. Erstellen Sie in Ihrem GitHub- oder Azure DevOps-Repository im Pfad des Repositoryordners einen Unterordner.

  2. Fügen Sie dem neuen Unterordner des Repositorys zwei Dateien hinzu:

    • Eine IaC-Vorlagendatei.

    • Eine Umgebung als YAML-Datei.

      Die Datei environment.yaml enthält Metadaten im Zusammenhang mit der IaC-Vorlage.

      Das folgende Skript ist ein Beispiel für den Inhalt einer environment.yaml-Datei für eine ARM-Vorlage:

          name: WebApp
          version: 1.0.0
          summary: Azure Web App Environment
          description: Deploys a web app in Azure without a datastore
          runner: ARM
          templatePath: azuredeploy.json
      

      Verwenden Sie die folgende Tabelle, um die Felder in der Datei environment.yaml zu verstehen:

      Feld Beschreibung des Dataflows
      name Der Name der Umgebungsdefinition.
      version Die Version der Umgebungsdefinition. Dieses Feld ist optional.
      Zusammenfassung Eine kurze Beschreibung der Umgebungsdefinition.
      Beschreibung Eine detaillierte Beschreibung der Umgebungsdefinition.
      runner Das IaC-Framework, das von der Vorlage verwendet wird. Der Wert kann ARM oder Bicep lauten. Sie können auch einen Pfad zu einer Vorlage angeben, die in einer Containerregistrierung gespeichert ist.
      templatePath Der Pfad zur IaC-Vorlagendatei.

      Weitere Informationen zu den Optionen und Datentypen, die Sie in environment.yaml verwenden können, finden Sie unter Parameter und Datentypen in environment.yaml.

  3. Wechseln Sie in Ihrem Dev Center zu Kataloge. Wählen Sie das Repository und dann Synchronisieren aus.

    Screenshot, der zeigt, wie der Katalog synchronisiert wird.

Der Dienst durchsucht das Repository, um neue Umgebungsdefinitionen zu finden. Nachdem Sie das Repository synchronisiert haben, sind für alle Projekte im Dev Center neue Umgebungsdefinitionen verfügbar.

Verwenden von Containerimages zum Bereitstellen von Umgebungen

ADE verwendet Containerimages, um zu definieren, wie Vorlagen für Bereitstellungsumgebungen bereitgestellt werden. ADE unterstützt ARM und Bicep nativ, sodass Sie eine Umgebungsdefinition konfigurieren können, die Azure-Ressourcen für eine Bereitstellungsumgebung bereitstellt, indem Sie dem Katalog die Vorlagendateien (azuredeploy.json und environment.yaml) hinzufügen. ADE verwendet dann ein standardmäßiges ARM- oder Bicep-Containerimage, um die Bereitstellungsumgebung zu erstellen.

Sie können benutzerdefinierte Containerimages für erweiterte Umgebungsbereitstellungen erstellen. Beispielsweise können Sie Skripts vor oder nach der Bereitstellung ausführen. ADE unterstützt benutzerdefinierte Containerimages für Umgebungsbereitstellungen, die bei der Bereitstellung von IaC-Frameworks wie Pulumi und Terraform helfen können.

Das ADE-Team stellt ARM- und Bicep-Containerimages zur Verfügung, die über die Microsoft-Artefaktregistrierung (auch bekannt als Microsoft Container Registry) zugänglich sind, um Ihnen den Einstieg zu erleichtern.

Weitere Informationen zum Erstellen eines benutzerdefinierten Containerimages finden Sie unter:

Angeben des ARM- oder Bicep-Beispielcontainerimages

In der Datei „environment.yaml“ gibt die Runner-Eigenschaft die Position des Images an, das Sie verwenden möchten. Um das Beispielimage zu verwenden, das in der Microsoft-Artefaktregistrierung veröffentlicht wurde, verwenden Sie die entsprechenden Bezeichner, wie in der folgenden Tabelle aufgeführt.

IaC-Framework Runner-Wert
ARM ARM
Bicep Bicep
Terraform Kein Beispielimage. Verwenden Sie stattdessen ein benutzerdefiniertes Containerimage.

Das folgende Beispiel zeigt einen Runner, der auf das Beispiel-Bicep-Containerimage verweist:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: Bicep
    templatePath: azuredeploy.json

Angeben eines benutzerdefinierten Containerimages

Um ein benutzerdefiniertes Containerimage zu verwenden, das in einem Repository gespeichert ist, verwenden Sie das folgende Runner-Format in der Datei „environment.yaml“:

runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`

Bearbeiten Sie den Runner-Wert, um auf Ihr Repository und Ihr benutzerdefiniertes Image zu verweisen, wie im folgenden Beispiel gezeigt:

    name: WebApp
    version: 1.0.0
    summary: Azure Web App Environment
    description: Deploys a web app in Azure without a datastore
    runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}"
    templatePath: azuredeploy.json
Eigenschaft Beschreibung
YOUR_REGISTRY Die Registrierung, in der das benutzerdefinierte Image gespeichert wird.
YOUR_REPOSITORY Ihr Repository in dieser Registrierung.
YOUR_TAG Ein Tag, z. B. eine Versionsnummer.

Angeben von Parametern für eine Umgebungsdefinition

Sie können Parameter für Ihre Umgebungsdefinitionen festlegen, damit Entwickler ihre Umgebungen anpassen können.

Parameter werden in der Datei environment.yaml definiert.

Das folgende Skript ist ein Beispiel für eine environment.yaml-Datei für eine ARM-Vorlage, die zwei Parameter enthält; location und name:

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

Weitere Informationen zu den Parametern und ihren Datentypen, die Sie in environment.yaml verwenden können, finden Sie unter Parameter und Datentypen in environment.yaml.

Fachkräfte in der Entwicklung können Werte für bestimmte Parameter für ihre Umgebungen über das Entwicklerportal bereitstellen.

Screenshot des Entwicklerportals mit dem Parameterbereich.

Entwickler können Werte für bestimmte Parameter für ihre Umgebungen auch über die CLI bereitstellen.

az devcenter dev environment create --environment-definition-name
                                    --catalog-name
                                    --dev-center
                                    --environment-name
                                    --environment-type
                                    --project
                                    [--description]
                                    [--no-wait]
                                    [--parameters]
                                    [--tags]
                                    [--user]
                                    [--user-id]

Weitere Informationen zum Befehl az devcenter dev environment create finden Sie in der Azure CLI Devcenter-Erweiterung.

Aktualisieren einer Umgebungsdefinition

Um die Konfiguration von Azure-Ressourcen in einer bestehenden Umgebungsdefinition in Azure Deployment Environments zu ändern, aktualisieren Sie die zugehörige Vorlagendatei im Repository. Die Änderung wird sofort übernommen, wenn Sie eine neue Umgebung mit der betreffenden Umgebungsdefinition erstellen. Die Aktualisierung wird auch angewendet, wenn Sie eine Umgebung, die dieser Umgebungsdefinition zugeordnet ist, erneut bereitstellen.

Um Metadaten im Zusammenhang mit der Vorlage zu aktualisieren, ändern Sie environment.yaml, und aktualisieren Sie anschließend den Katalog.

Löschen einer Umgebungsdefinition

Um eine vorhandene Umgebungsdefinition zu löschen, löschen Sie im Repository den Unterordner, der die Vorlage mit der Datei und die zugehörige YAML-Umgebungsdatei enthält. Aktualisieren Sie dann den Katalog.

Nachdem Sie eine Umgebungsdefinition gelöscht haben, können Entwicklungsteams die betreffende Umgebungsdefinition nicht mehr für die Bereitstellung einer neuen Umgebung verwenden. Aktualisieren Sie den Verweis auf die Umgebungsdefinitionen für alle bestehenden Umgebungen, die die gelöschte Umgebungsdefinition verwenden. Wenn der Verweis nicht aktualisiert und die Umgebung neu bereitgestellt wird, schlägt die Bereitstellung fehl.