ADE-Umgebungsdefinitionen sind Infrastruktur als Code (IaC), geschrieben in Bicep oder Terraform, gespeichert in Repositorys. Umgebungsdefinitionen können für Ihre spezifischen Anforderungen geändert und angepasst und dann zum Erstellen einer Bereitstellungsumgebung in Azure verwendet werden. Das schema environment.yaml definiert und beschreibt die Typen von Azure-Ressourcen, die in Umgebungsdefinitionen enthalten sind.
Was ist environment.yaml?
Die Datei environment.yaml fungiert als Manifest, das die verwendeten Ressourcen und den Vorlagenspeicherort für die Umgebungsdefinition beschreibt.
Beispielumgebung.yaml
Das folgende Skript ist ein generisches Beispiel für eine umgebung.yaml, die für ihre Umgebungsdefinition erforderlich ist.
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
Definitionen
In der folgenden Tabelle werden die Eigenschaften beschrieben, die Sie in environment.yaml verwenden können.
Eigenschaft
Typ
Beschreibung
Erforderlich
Beispiele
name
Zeichenfolge
Der Anzeigename des Katalogelements.
Ja
version
Zeichenfolge
Die Version des Katalogelements.
1.0.0
Zusammenfassung
Zeichenfolge
Eine kurze Zusammenfassungszeichenfolge zum Katalogelement.
Beschreibung
string
Eine Beschreibung des Katalogelements.
Runner
Zeichenfolge
Das Containerimage, das beim Ausführen von Aktionen verwendet werden soll.
ARM-Vorlage Terraform
Templatepath
Zeichenfolge
Der relative Pfad der Eintragsvorlagendatei.
Ja
Standard.tf Standard.bicep azuredeploy.json
Parameter
array
Eingabeparameter, die beim Erstellen der Umgebung und Ausführen von Aktionen verwendet werden sollen.
#/definitions/Parameter
Parameter in environment.yaml
Mithilfe von Parametern können Sie eine Umgebungsdefinition in verschiedenen Szenarien wiederverwenden. Sie können beispielsweise möchten, dass Entwickler in verschiedenen Regionen dieselbe Umgebung bereitstellen. Sie können einen Standortparameter definieren, um den Entwickler aufzufordern, den gewünschten Speicherort einzugeben, während er seine Umgebung erstellt.
Beispielumgebung.yaml mit Parametern
Das folgende Skript ist ein Beispiel für eine Datei "environment.yaml", 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
Parameterdefinitionen
In der folgenden Tabelle werden die Datentypen beschrieben, die Sie in "environment.yaml" verwenden können. Die in der Manifestdatei "environment.yaml" verwendeten Datentypnamen unterscheiden sich von den Datentypen, die in ARM-Vorlagen verwendet werden.
Jeder Parameter kann eine der folgenden Eigenschaften verwenden:
Eigenschaften
Typ
Beschreibung
Weitere Einstellungen
ID
Zeichenfolge
Eindeutige ID des Parameters.
name
Zeichenfolge
Anzeigename des Parameters.
Beschreibung
string
Beschreibung des Parameters.
default
array boolean integer number object
string
Der Standardwert des Parameters.
Typ
array boolean integer number object
string
Der Datentyp des Parameters. Dieser Datentyp muss mit dem Parameterdatentyp in der ARM-Vorlage, der BICEP-Datei oder der Terraform-Datei mit dem entsprechenden Parameternamen übereinstimmen.
Standardtyp: Zeichenfolge
readOnly
boolean
Gibt an, ob dieser Parameter schreibgeschützt ist.
Es gibt ein definiertes Schema für Azure Deployment Environments environment.yaml-Dateien, die die Bearbeitung dieser Dateien etwas vereinfachen können. Sie können die Schemadefinition am Anfang der Datei "environment.yaml" hinzufügen:
Hier ist eine Beispielumgebungsdefinition, die das Schema verwendet:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
name: FunctionApp
version: 1.0.0
summary: Azure Function App Environment
description: Deploys an Azure Function App, Storage Account, and Application Insights
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: name
name: Name
description: 'Name of the Function App.'
type: string
required: true
- id: supportsHttpsTrafficOnly
name: 'Supports Https Traffic Only'
description: 'Allows https traffic only to Storage Account and Functions App if set to true.'
type: boolean
- id: runtime
name: Runtime
description: 'The language worker runtime to load in the function app.'
type: string
allowed:
- 'dotnet'
- 'dotnet-isolated'
- 'java'
- 'node'
- 'powershell'
- 'python'
default: 'dotnet-isolated'
Erstellen Sie eine Bereitstellungspipeline für Bicep IaC-Vorlagen. Führen Sie die Bereitstellung in mehreren Umgebungen mithilfe von YAML-Pipelinevorlagendateien aus. Sie erhalten Informationen darüber, wie Sie umgebungsspezifische Parameter aus Ihrer Pipeline bereitstellen.