Freigeben über


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 verwenden Sie einen Katalog , um Ihren Entwicklungsteams einen kuratierten Satz vordefinierter Infrastruktur als Codevorlagen (IaC) bereitzustellen, die als Umgebungsdefinitionen bezeichnet werden.

Eine Umgebungsdefinition besteht aus mindestens zwei Dateien:

  • Eine Vorlage aus einem IaC-Framework. Beispiel:
    • Eine Azure Resource Manager (ARM)-Vorlage kann eine Datei namens azuredeploy.jsonverwenden.
    • Eine Bicep-Datei 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" haben.

Ihre Entwicklungsteams verwenden die Umgebungsdefinitionen, die Sie im Katalog bereitstellen, um Umgebungen in Azure bereitzustellen.

Microsoft bietet einen Beispielkatalog , den Sie als Repository verwenden können. Sie können auch Ihr privates Repository verwenden oder die Umgebungsdefinitionen im Beispielkatalog forken und anpassen.

Nachdem Sie Ihrem Dev Center einen Katalog hinzugefügt haben, überprüft der Dienst den angegebenen Ordnerpfad, um Ordner zu identifizieren, die eine Vorlage und eine zugeordnete Umgebungsdatei enthalten. Der angegebene Ordnerpfad sollte ein Ordner sein, der Unterordner enthält, die die Umgebungsdefinitionsdateien enthalten.

Hinzufügen einer Umgebungsdefinition

Um einem Katalog in Azure Deployment Environments (ADE) eine Umgebungsdefinition hinzuzufügen, fügen Sie die Dateien zuerst dem Repository hinzu. Anschließend synchronisieren Sie den Dev Center-Katalog mit dem aktualisierten Repository.

So fügen Sie eine Umgebungsdefinition hinzu:

  1. Erstellen Sie in Ihrem GitHub - oder Azure DevOps-Repository einen Unterordner im Repositoryordnerpfad.

  2. Fügen Sie dem neuen Repository-Unterordner 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 Datei "environment.yaml " 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
      Name Der Name der Umgebungsdefinition.
      Ausgabe Die Version der Umgebungsdefinition. Dieses Feld ist optional.
      Zusammenfassung Eine kurze Beschreibung der Umgebungsdefinition.
      Beschreibung Eine detaillierte Beschreibung der Umgebungsdefinition.
      Läufer Das IaC-Framework, das von der Vorlage verwendet wird. Der Wert kann oder ARMseinBicep. 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 Katalogen, 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, stehen neue Umgebungsdefinitionen für alle Projekte im Dev Center zur Verfügung.

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 den Speicherort des bilds 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
Bizeps Bizeps
Terraformierung Kein Beispielbild. 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
Eigentum BESCHREIBUNG
YOUR_REGISTRY Die Registrierung, in der das benutzerdefinierte Bild 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 angeben, damit Entwickler ihre Umgebungen anpassen können.

Parameter werden in der Datei "environment.yaml " definiert.

Das folgende Skript ist ein Beispiel für eine Datei "environment.yaml " 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 deren Datentypen, die Sie in environment.yaml verwenden können, finden Sie unter Parameter und Datentypen in environment.yaml.

Entwickler können Werte für bestimmte Parameter für ihre Umgebungen über das Entwicklerportal bereitstellen.

Screenshot des Entwicklerportals des Entwicklerportals mit dem Parameterbereich.

Entwickler können auch Werte für bestimmte Parameter für ihre Umgebungen ü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 finden Sie in der az devcenter dev environment createAzure CLI Devcenter-Erweiterung.

Aktualisieren einer Umgebungsdefinition

Um die Konfiguration von Azure-Ressourcen in einer vorhandenen Umgebungsdefinition in Azure-Bereitstellungsumgebungen zu ändern, aktualisieren Sie die zugeordnete Vorlagendatei im Repository. Die Änderung wird sofort angezeigt, wenn Sie eine neue Umgebung mithilfe der spezifischen Umgebungsdefinition erstellen. Das Update wird auch angewendet, wenn Sie eine Umgebung erneut bereitstellen, die dieser Umgebungsdefinition zugeordnet ist.

Um metadaten im Zusammenhang mit der Vorlage zu aktualisieren, ändern Sie environment.yaml, und aktualisieren Sie dann den Katalog.

Löschen einer Umgebungsdefinition

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

Nachdem Sie eine Umgebungsdefinition gelöscht haben, können Entwicklungsteams die spezifische Umgebungsdefinition nicht mehr verwenden, um eine neue Umgebung bereitzustellen. Aktualisieren Sie den Umgebungsdefinitionsverweis für alle vorhandenen Umgebungen, die die gelöschte Umgebungsdefinition verwenden. Wenn der Verweis nicht aktualisiert und die Umgebung neu bereitgestellt wird, schlägt die Bereitstellung fehl.