ADE-miljödefinitioner är infrastruktur som kod (IaC), skrivna i Bicep eller Terraform, som lagras i lagringsplatser. Miljödefinitioner kan ändras och anpassas för dina specifika krav och sedan användas för att skapa en distributionsmiljö i Azure. Schemat environment.yaml definierar och beskriver de typer av Azure-resurser som ingår i miljödefinitioner.
Vad är environment.yaml?
Filen environment.yaml fungerar som ett manifest som beskriver de resurser som används och mallplatsen för miljödefinitionen.
Exempelmiljö.yaml
Följande skript är ett allmänt exempel på en environment.yaml som krävs för din miljödefinition.
I följande tabell beskrivs de egenskaper som du kan använda i environment.yaml.
Property
Typ
Beskrivning
Krävs
Exempel
name
sträng
Katalogobjektets visningsnamn.
Ja
version
sträng
Katalogobjektets version.
1.0.0
Sammanfattning
sträng
En kort sammanfattningssträng om katalogobjektet.
description
sträng
En beskrivning av katalogobjektet.
Löpare
sträng
Containeravbildningen som ska användas vid körning av åtgärder.
ARM-mall Terraform
templatePath
sträng
Den relativa sökvägen till postmallfilen.
Ja
main.tf main.bicep azuredeploy.json
parametrar
matris
Indataparametrar som ska användas när du skapar miljön och utför åtgärder.
#/definitioner/Parameter
Parametrar i environment.yaml
Med parametrar kan du återanvända en miljödefinition i olika scenarier. Du kanske till exempel vill att utvecklare i olika regioner ska distribuera samma miljö. Du kan definiera en platsparameter för att uppmana utvecklaren att ange önskad plats när de skapar sin miljö.
Exempelmiljö.yaml med parametrar
Följande skript är ett exempel på en environment.yaml-fil som innehåller två parametrar. location och name:
yml
name:WebAppsummary:AzureWebAppEnvironmentdescription:DeploysawebappinAzurewithoutadatastorerunner:ARMtemplatePath:azuredeploy.jsonparameters:- 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
Parameterdefinitioner
I följande tabell beskrivs de datatyper som du kan använda i environment.yaml. De datatypnamn som används i manifestfilen environment.yaml skiljer sig från de som används i ARM-mallar.
Varje parameter kan använda någon av följande egenskaper:
Egenskaper
Typ
Beskrivning
Ytterligare Inställningar
ID
sträng
Unikt ID för parametern.
name
sträng
Visningsnamn för parametern.
description
sträng
Beskrivning av parametern.
standard
matris boolesk heltalsnummerobjektsträng
Standardvärdet för parametern.
type
matris boolesk heltalsnummerobjektsträng
Parameterns datatyp. Den här datatypen måste matcha parameterdatatypen i ARM-mallen, BICEP-filen eller Terraform-filen med motsvarande parameternamn.
Det finns ett definierat schema för Azure Deployment Environments environment.yaml-filer, vilket kan göra det lite enklare att redigera dessa filer. Du kan lägga till schemadefinitionen i början av filen environment.yaml:
Här är ett exempel på en miljödefinition som använder schemat:
yml
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.jsonname:FunctionAppversion:1.0.0summary:AzureFunctionAppEnvironmentdescription:DeploysanAzureFunctionApp,StorageAccount,andApplicationInsightsrunner:ARMtemplatePath:azuredeploy.jsonparameters: - 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'
Skapa en distributionspipeline för Bicep IaC-mallar. Distribuera till flera miljöer med hjälp av YAML-filer för pipelinemallar. Lär dig hur du tillhandahåller miljöspecifika parametrar från din pipeline.