Dela via


Lägga till och konfigurera en miljödefinition

Den här artikeln beskriver hur du lägger till, uppdaterar eller tar bort en miljödefinition i en Azure Deployment Environments-katalog. Den förklarar också hur du refererar till en containeravbildning för att distribuera din miljö.

I Azure Deployment Environments använder du en katalog för att ge utvecklingsteamen en kuraterad uppsättning fördefinierade IaC-mallar (infrastruktur som kod) som kallas miljödefinitioner.

En miljödefinition består av minst två filer:

  • En mall från ett IaC-ramverk. Till exempel:
    • En ARM-mall (Azure Resource Manager) kan använda en fil med namnet azuredeploy.json.
    • En Bicep-mall kan använda en fil med namnet main.bicep.
    • En Terraform-mall kan använda en fil med namnet azuredeploy.tf.
  • En konfigurationsfil som innehåller metadata om mallen. Den här filen ska ha namnet environment.yaml.

Utvecklingsteamen använder de miljödefinitioner som du anger i katalogen för att distribuera miljöer i Azure.

Microsoft erbjuder en exempelkatalog som du kan använda som lagringsplats. Du kan också använda din egen privata lagringsplats, eller så kan du förgrena och anpassa miljödefinitionerna i exempelkatalogen.

När du har lagt till en katalog i utvecklingscentret söker tjänsten igenom den angivna mappsökvägen för att identifiera mappar som innehåller en mall och en associerad miljöfil. Den angivna mappsökvägen ska vara en mapp som innehåller undermappar som innehåller miljödefinitionsfilerna.

Lägga till en miljödefinition

Om du vill lägga till en miljödefinition i en katalog i Azure Deployment Environments (ADE) lägger du först till filerna på lagringsplatsen. Sedan synkroniserar du dev center-katalogen med den uppdaterade lagringsplatsen.

Så här lägger du till en miljödefinition:

  1. På din GitHub - eller Azure DevOps-lagringsplats skapar du en undermapp i sökvägen till lagringsplatsens mapp.

  2. Lägg till två filer i den nya undermappen för lagringsplatsen:

    • En IaC-mallfil.

    • En miljö som en YAML-fil.

      Filen environment.yaml innehåller metadata som är relaterade till IaC-mallen.

      Följande skript är ett exempel på innehållet i en environment.yaml-fil för en ARM-mall:

          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
      

      Använd följande tabell för att förstå fälten i filen environment.yaml :

      Fält Beskrivning
      name Namnet på miljödefinitionen.
      version Versionen av miljödefinitionen. Det här fältet är valfritt.
      Sammanfattning En kort beskrivning av miljödefinitionen.
      description En detaljerad beskrivning av miljödefinitionen.
      Löpare Det IaC-ramverk som mallen använder. Värdet kan vara ARM eller Bicep. Du kan också ange en sökväg till en mall som lagras i ett containerregister.
      templatePath Sökvägen till IaC-mallfilen.

      Mer information om de alternativ och datatyper som du kan använda i environment.yaml finns i Parametrar och datatyper i environment.yaml.

  3. I utvecklingscentret går du till Kataloger, väljer lagringsplatsen och väljer sedan Synkronisera.

    Skärmbild som visar hur du synkroniserar katalogen.

Tjänsten söker igenom lagringsplatsen för att hitta nya miljödefinitioner. När du har synkroniserat lagringsplatsen är nya miljödefinitioner tillgängliga för alla projekt i utvecklingscentret.

Använda containeravbildningar för att distribuera miljöer

ADE använder containeravbildningar för att definiera hur mallar för distributionsmiljöer distribueras. ADE stöder ARM och Bicep internt, så du kan konfigurera en miljödefinition som distribuerar Azure-resurser för en distributionsmiljö genom att lägga till mallfilerna (azuredeploy.json och environment.yaml) i katalogen. ADE använder sedan en standard-ARM- eller Bicep-containeravbildning för att skapa distributionsmiljön.

Du kan skapa anpassade containeravbildningar för mer avancerade miljödistributioner. Du kan till exempel köra skript före eller efter distributionen. ADE stöder anpassade containeravbildningar för miljödistributioner, vilket kan hjälpa till att distribuera IaC-ramverk som Pulumi och Terraform.

ADE-teamet tillhandahåller ARM- och Bicep-exempelcontaineravbildningar som är tillgängliga via Microsofts artefaktregister (även kallat Microsoft Container Registry) för att hjälpa dig att komma igång.

Mer information om hur du skapar en anpassad containeravbildning finns i:

Ange ARM- eller Bicep-exempelcontaineravbildningen

I filen environment.yaml anger egenskapen runner platsen för den bild som du vill använda. Om du vill använda exempelbilden som publicerats på Microsofts artefaktregister använder du respektive identifierare som visas i följande tabell.

IaC-ramverk Runner-värde
ARM ARM
Bicep Bicep
Terraform Ingen exempelbild. Använd en anpassad containeravbildning i stället.

I följande exempel visas en löpare som refererar till Bicep-exempelcontaineravbildningen:

    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

Ange en anpassad containeravbildning

Om du vill använda en anpassad containeravbildning som lagras på en lagringsplats använder du följande runner-format i filen environment.yaml:

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

Redigera körningsvärdet för att referera till lagringsplatsen och den anpassade avbildningen, som du ser i följande exempel:

    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
Property beskrivning
YOUR_REGISTRY Registret som lagrar den anpassade avbildningen.
YOUR_REPOSITORY Din lagringsplats i registret.
YOUR_TAG En tagg, till exempel ett versionsnummer.

Ange parametrar för en miljödefinition

Du kan ange parametrar för dina miljödefinitioner så att utvecklare kan anpassa sina miljöer.

Parametrar definieras i filen environment.yaml .

Följande skript är ett exempel på en environment.yaml-fil för en ARM-mall som innehåller två parametrar, location och 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

Mer information om parametrar och deras datatyper som du kan använda i environment.yaml finns i Parametrar och datatyper i environment.yaml.

Utvecklare kan ange värden för specifika parametrar för sina miljöer via utvecklarportalen.

Skärmbild av utvecklarportalen i utvecklarportalen som visar parameterfönstret.

Utvecklare kan också ange värden för specifika parametrar för sina miljöer via CLI.

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]

Mer information om kommandot finns i az devcenter dev environment createAzure CLI devcenter-tillägget.

Uppdatera en miljödefinition

Om du vill ändra konfigurationen av Azure-resurser i en befintlig miljödefinition i Azure Deployment Environments uppdaterar du den associerade mallfilen på lagringsplatsen. Ändringen återspeglas omedelbart när du skapar en ny miljö med hjälp av den specifika miljödefinitionen. Uppdateringen tillämpas också när du distribuerar om en miljö som är associerad med den miljödefinitionen.

Om du vill uppdatera metadata som är relaterade till mallen ändrar du environment.yaml och uppdaterar sedan katalogen.

Ta bort en miljödefinition

Om du vill ta bort en befintlig miljödefinition tar du bort undermappen som innehåller mallfilen och yaml-filen för den associerade miljön på lagringsplatsen. Uppdatera sedan katalogen.

När du har tagit bort en miljödefinition kan utvecklingsteamen inte längre använda den specifika miljödefinitionen för att distribuera en ny miljö. Uppdatera miljödefinitionsreferensen för alla befintliga miljöer som använder den borttagna miljödefinitionen. Om referensen inte uppdateras och miljön distribueras igen misslyckas distributionen.