Delen via


Een omgevingsdefinitie toevoegen en configureren

In dit artikel wordt uitgelegd hoe u een omgevingsdefinitie toevoegt, bijwerkt of verwijdert in een catalogus met Azure Deployment Environments. Ook wordt uitgelegd hoe u naar een containerafbeelding verwijst om uw omgeving te implementeren.

In Implementatieomgevingen gebruikt u een catalogus om uw ontwikkelteams een gecureerde set vooraf gedefinieerde infrastructuur als codesjablonen (IaC) te bieden die omgevingsdefinities worden genoemd.

Een omgevingsdefinitie bestaat uit ten minste twee bestanden:

  • Een sjabloon van een IaC-framework. Bijvoorbeeld:
    • Een ARM-sjabloon (Azure Resource Manager) kan een bestand met de naam azuredeploy.jsongebruiken.
    • Een Bicep-bestand kan een bestand met de naam main.bicep gebruiken.
    • Een Terraform-sjabloon kan een bestand met de naam azuredeploy.tf gebruiken.
  • Een configuratiebestand met metagegevens over de sjabloon. Dit bestand moet de naam environment.yaml hebben.

Uw ontwikkelteams gebruiken de omgevingsdefinities die u in de catalogus opgeeft om omgevingen in Azure te implementeren.

Microsoft biedt een voorbeeldcatalogus die u als opslagplaats kunt gebruiken. U kunt ook uw eigen privéopslagplaats gebruiken of u kunt de omgevingsdefinities in de voorbeeldcatalogus splitsen en aanpassen.

Nadat u een catalogus aan uw ontwikkelaarscentrum hebt toegevoegd, scant de service het opgegeven mappad om mappen te identificeren die een sjabloon en een gekoppeld omgevingsbestand bevatten. Het opgegeven mappad moet een map zijn die submappen bevat die de omgevingsdefinitiebestanden bevatten.

Een omgevingsdefinitie toevoegen

Als u een omgevingsdefinitie wilt toevoegen aan een catalogus in Implementatieomgevingen, voegt u eerst de bestanden toe aan de opslagplaats. Vervolgens synchroniseert u de ontwikkelaarscentrumcatalogus met de bijgewerkte opslagplaats.

Een omgevingsdefinitie toevoegen:

  1. Maak in uw GitHub- of Azure DevOps-opslagplaats een submap in het pad van de opslagplaatsmap aan.

  2. Voeg twee bestanden toe aan de nieuwe submap van de opslagplaats:

    • Een IaC-sjabloonbestand.

    • Een omgeving als YAML-bestand.

      Het bestand environment.yaml bevat metagegevens met betrekking tot de IaC-sjabloon.

      Het volgende script is een voorbeeld van de inhoud van een environment.yaml-bestand voor een ARM-sjabloon:

          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
      

      In deze tabel worden de velden in het bestand environment.yaml beschreven:

      Veld Beschrijving
      name De naam van de omgevingsdefinitie.
      version De versie van de omgevingsdefinitie. Dit veld is optioneel.
      summary Een korte beschrijving van de omgevingsdefinitie.
      description Een gedetailleerde beschrijving van de omgevingsdefinitie.
      runner Het IaC-framework dat door de sjabloon wordt gebruikt. De waarde kan ARM of Bicep. U kunt ook een pad opgeven naar een sjabloon die is opgeslagen in een containerregister.
      templatePath Het pad naar het IaC-sjabloonbestand.

      Zie Parameters en gegevenstypen in environment.yaml voor meer informatie over de opties en gegevenstypen die u kunt gebruiken in environment.yaml.

  3. Selecteer Catalogs in uw ontwikkelcentrum onder Omgevingsconfiguratie. Selecteer de opslagplaats en selecteer vervolgens Synchroniseren.

    Schermopname die laat zien hoe u een catalogus synchroniseert.

De service scant de opslagplaats om nieuwe omgevingsdefinities te vinden. Nadat u de opslagplaats hebt gesynchroniseerd, zijn nieuwe omgevingsdefinities beschikbaar voor alle projecten in het ontwikkelaarscentrum.

Containerinstallatiekopieën gebruiken om omgevingen te implementeren

Implementatieomgevingen maken gebruik van containerinstallatiekopieën om te definiëren hoe sjablonen voor implementatieomgevingen worden geïmplementeerd. Implementatieomgevingen ondersteunen systeemeigen ARM en Bicep, zodat u een omgevingsdefinitie kunt configureren waarmee Azure-resources voor een implementatieomgeving worden geïmplementeerd door de sjabloonbestanden (azuredeploy.json en environment.yaml) toe te voegen aan uw catalogus. Implementatieomgevingen gebruiken vervolgens een standaard ARM of Bicep containerafbeelding voor het creëren van de implementatieomgeving.

U kunt aangepaste containerinstallatiekopieën maken voor geavanceerdere omgevingsimplementaties. U kunt bijvoorbeeld scripts uitvoeren vóór of na de implementatie. Implementatieomgevingen ondersteunen aangepaste containerinstallatiekopieën voor omgevingsimplementaties, waarmee u IaC-frameworks zoals Pulumi en Terraform kunt implementeren.

Om aan de slag te gaan, kunt u voorbeelden van ARM- en Bicep-containerinstallatiekopieën ophalen via het Microsoft Artifact Registry (ook wel bekend als het Microsoft Container Registry).

Zie Een containerimage configureren om implementaties uit te voeren voor meer informatie over het bouwen van een aangepaste containerimage.

Specificeer de ARM- of Bicep-containerafbeelding voorbeeld

In het bestand environment.yaml geeft de runner eigenschap de locatie op van de afbeelding die u wilt gebruiken. Als u het voorbeeldimage wilt gebruiken dat is gepubliceerd in het Microsoft Artifact Registry, gebruik dan de runner waarden die worden vermeld in de volgende tabel.

IaC-framework runner waarde
ARM ARM
Biceps Biceps
Terraformatie Geen voorbeeldafbeelding. Gebruik in plaats daarvan een aangepaste containerafbeelding.

Het volgende voorbeeld toont een runner eigenschap die verwijst naar de voorbeeld-Bicep-containerafbeelding.

    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

Een aangepaste containerinstallatiekopieën opgeven

Als u een aangepaste containerafbeelding wilt gebruiken die is opgeslagen in een opslagplaats, gebruikt u de volgende runner indeling in het bestand environment.yaml:

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

Bewerk de runner waarde om te verwijzen naar uw opslagplaats en aangepaste afbeelding, zoals in dit voorbeeld wordt weergegeven:

    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
Vastgoed Beschrijving
JOUW_REGISTER Het register dat de aangepaste afbeelding opslaat.
YOUR_REPOSITORY Uw opslagplaats in dat register.
YOUR_TAG Een tag, zoals een versienummer.

Parameters opgeven voor een omgevingsdefinitie

U kunt parameters opgeven voor uw omgevingsdefinities, zodat ontwikkelaars hun omgevingen kunnen aanpassen.

Parameters worden gedefinieerd in het bestand environment.yaml.

Het volgende script is een voorbeeld van een environment.yaml-bestand voor een ARM-sjabloon met twee parameters: location en 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

Zie Parameters en gegevenstypen in environment.yaml voor meer informatie.

Ontwikkelaars kunnen waarden opgeven voor specifieke parameters voor hun omgevingen via de ontwikkelaarsportal.

Schermopname van het deelvenster Parameters in de ontwikkelaarsportal.

Ontwikkelaars kunnen ook waarden opgeven voor specifieke parameters voor hun omgevingen via de Azure 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]

Zie de az devcenter dev environment create voor meer informatie over de opdracht.

Een omgevingsdefinitie bijwerken

Als u de configuratie van Azure-resources in een bestaande omgevingsdefinitie in Implementatieomgevingen wilt wijzigen, werkt u het bijbehorende sjabloonbestand bij in de opslagplaats. De wijziging wordt onmiddellijk weerspiegeld wanneer u een nieuwe omgeving maakt met behulp van de specifieke omgevingsdefinitie. De update wordt ook toegepast wanneer u een omgeving die is gekoppeld aan die omgevingsdefinitie opnieuw implementeert.

Als u metagegevens met betrekking tot de sjabloon wilt bijwerken, wijzigt u environment.yaml en werkt u de catalogus vervolgens bij.

Een omgevingsdefinitie verwijderen

Als u een omgevingsdefinitie wilt verwijderen, verwijdert u in de opslagplaats de submap die het sjabloonbestand en het bijbehorende bestand environment.yaml bevat. Werk vervolgens de catalogus bij.

Nadat u een omgevingsdefinitie hebt verwijderd, kunnen ontwikkelteams deze niet meer gebruiken om een nieuwe omgeving te implementeren. Werk de referentie voor de omgevingsdefinitie bij voor bestaande omgevingen die gebruikmaken van de definitie van de verwijderde omgeving. Als de verwijzing niet wordt bijgewerkt en de omgeving opnieuw wordt geïmplementeerd, mislukt de implementatie.