Aggiungere e configurare una definizione di ambiente

Questo articolo illustra come aggiungere, aggiornare o eliminare una definizione di ambiente in un catalogo degli ambienti di distribuzione di Azure. Viene inoltre illustrato come fare riferimento a un'immagine del contenitore per implementare l'ambiente.

In Ambienti di distribuzione si usa un catalogo per fornire ai team di sviluppo un set curato di modelli predefiniti di infrastruttura come codice (IaC)denominati definizioni di ambiente.

Una definizione di ambiente è costituita da almeno due file:

  • Modello di un framework IaC. Per esempio:
    • Un modello di Azure Resource Manager (ARM) potrebbe usare un file denominato azuredeploy.json.
    • Un file Bicep potrebbe usare un file denominato main.bicep.
    • Un modello Terraform potrebbe usare un file denominato azuredeploy.tf.
  • File di configurazione che fornisce metadati sul modello. Questo file deve essere denominato environment.yaml.

I team di sviluppo usano le definizioni di ambiente fornite nel catalogo per distribuire gli ambienti in Azure.

Microsoft fornisce modelli sample che è possibile usare per iniziare a usare ambienti di distribuzione. È anche possibile usare il proprio repository privato oppure creare un fork e personalizzare le definizioni di ambiente nel catalogo di esempio.

Dopo aver aggiunto un catalogo al dev center, il servizio analizza il percorso della cartella specificato per identificare le cartelle che contengono un modello e un file di ambiente associato. Il percorso della cartella specificato deve essere una cartella contenente sottocartelle che contengono i file di definizione dell'ambiente.

Aggiungere una definizione di ambiente

Per aggiungere una definizione di ambiente a un catalogo in Ambienti di distribuzione, è prima necessario aggiungere i file al repository. Si sincronizza quindi il catalogo di Dev Center con il repository aggiornato.

Per aggiungere una definizione di ambiente:

  1. Nel repository GitHub o Azure DevOps creare una sottocartella nel percorso della cartella del repository.

  2. Aggiungere due file alla nuova sottocartella del repository:

    • Un file modello di IaC.

    • Un ambiente come un file YAML.

      Il file environment.yaml contiene metadati correlati al modello IaC.

      Lo script seguente è un esempio del contenuto di un file environment.yaml per un modello ARM:

          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
      

      Questa tabella descrive i campi nel file environment.yaml :

      Campo Descrizione
      name Nome della definizione dell'ambiente.
      version La versione della definizione dell'ambiente. La gestione delle versioni non è supportata per le definizioni di ambiente, quindi questo valore deve essere sempre 1.0.0. Questo campo è facoltativo.
      summary Breve descrizione della definizione dell'ambiente.
      description Descrizione dettagliata della definizione dell'ambiente.
      runner Framework IaC usato dal modello. Il valore può essere ARM o Bicep. È anche possibile specificare un percorso di un'immagine del contenitore archiviata in un registro contenitori.
      templatePath Percorso del file modello IaC.

      Per altre informazioni sulle opzioni e sui tipi di dati che è possibile usare, vedere Che cos'è environment.yaml?

  3. Accedere al portale Azure portale e selezionare il dev center. In Configurazione dell'ambiente nel menu della barra laterale selezionare Cataloghi. Selezionare il repository e quindi scegliere Sincronizza.

    Screenshot che mostra come sincronizzare un catalogo.

Il servizio analizza il repository per trovare nuove definizioni di ambiente. Dopo aver sincronizzato il repository, le nuove definizioni di ambiente sono disponibili per tutti i progetti nel Dev Center.

Usare le immagini del contenitore per distribuire gli ambienti

Gli ambienti di distribuzione usano immagini del contenitore per definire il modo in cui vengono distribuiti i modelli per gli ambienti di distribuzione. Gli ambienti di distribuzione supportano ARM e Bicep in modo nativo, pertanto è possibile configurare una definizione di ambiente che distribuisca Azure risorse per un ambiente di distribuzione aggiungendo i file di modello (azuredeploy.json e environment.yaml) al catalogo. Gli ambienti di distribuzione usano quindi un'immagine standard del contenitore ARM o Bicep per creare l'ambiente di distribuzione.

È possibile creare immagini di contenitori personalizzate per distribuzioni di ambienti più avanzate. Ad esempio, è possibile eseguire script prima o dopo la distribuzione. Gli ambienti di distribuzione supportano immagini di contenitori personalizzate per le distribuzioni dell'ambiente, che consentono di distribuire framework IaC come Pulumi e Terraform.

Per iniziare, è possibile ottenere immagini di contenitori ARM e Bicep di esempio tramite il Registro artefatti di Microsoft (noto anche come Registro Contenitori Microsoft).

Per altre informazioni sulla creazione di un'immagine del contenitore personalizzata, vedere Configurare un'immagine del contenitore per l'esecuzione delle distribuzioni.

Specificare l'immagine del contenitore di esempio ARM o Bicep

Nel file environment.yaml la runner proprietà specifica il percorso dell'immagine da usare. Per usare l'immagine di esempio pubblicata nel Registro artefatti di Microsoft, usare i runner valori elencati nella tabella seguente.

Framework IaC Valore della proprietà runner
ARM ARM
Bicep Bicep
Terramorfosi Nessuna immagine di esempio. Usare invece un'immagine del contenitore personalizzata.

L'esempio seguente mostra una runner proprietà che fa riferimento all'immagine di esempio del container Bicep:

    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

Specificare un'immagine del contenitore personalizzata

Per usare un'immagine del contenitore personalizzata archiviata in un repository, usare il formato seguente runner nel file environment.yaml :

runner: "<your-registry>.azurecr.io/<your-repository>:<your-tag>"

Modifica il valore runner per fare riferimento al repository e all'immagine personalizzata, come mostrato in questo esempio.

    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
Proprietà Descrizione
Il tuo registro Registro di sistema in cui è archiviata l'immagine personalizzata.
il tuo repository Il tuo repository in tale registro.
il vostro tag Tag, ad esempio un numero di versione.

Specificare i parametri per una definizione di ambiente

È possibile specificare i parametri per le definizioni di ambiente per consentire agli sviluppatori di personalizzare gli ambienti.

I parametri vengono definiti nel file environment.yaml .

Lo script seguente è un esempio di un file environment.yaml per un modello ARM che include due parametri: location e 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

Per altre informazioni, vedere Parametri in environment.yaml.

Gli sviluppatori possono fornire valori per parametri specifici per i propri ambienti tramite il portale per sviluppatori.

Screenshot del riquadro dei parametri nel portale per sviluppatori.

Gli sviluppatori possono anche fornire valori per parametri specifici per i propri ambienti tramite il interfaccia della riga di comando di Azure:

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]

Per altre informazioni sul comando az devcenter dev environment create, vedere l'estensione devcenter interfaccia della riga di comando di Azure .

Aggiornare una definizione di ambiente

Per modificare la configurazione delle risorse di Azure in una definizione di ambiente esistente in Ambienti di distribuzione, aggiornare il file modello associato nel repository. La modifica viene immediatamente riflessa quando si crea un nuovo ambiente usando la definizione di ambiente specifica. L'aggiornamento viene applicato anche quando si ridistribuisce un ambiente associato a tale definizione di ambiente.

Per aggiornare tutti i metadati correlati al modello, modificare environment.yaml e quindi aggiornare il catalogo.

Eliminare una definizione di ambiente

Per eliminare una definizione di ambiente, eliminare la sottocartella nel repository contenente il file modello e il file environment.yaml associato. Aggiornare quindi il catalogo.

Dopo aver eliminato una definizione di ambiente, i team di sviluppo non possono più usarla per distribuire un nuovo ambiente. Aggiornare il riferimento alla definizione di ambiente per tutti gli ambienti esistenti che usano la definizione di ambiente eliminata. Se il riferimento non viene aggiornato e l'ambiente viene ridistribuito, la distribuzione non va a buon fine.