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 distribuire l'ambiente.
Negli ambienti di distribuzione di Azure 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. Ad esempio:
- Un modello di Azure Resource Manager (ARM) può usare un file denominato azuredeploy.json.
- Un modello Bicep potrebbe usare un file denominato main.bicep.
- Un modello Terraform può 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 offre un catalogo di esempio che è possibile usare come repository. È 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 Azure Deployment Environments (ADE), aggiungere prima i file al repository. Si sincronizza quindi il catalogo di Dev Center con il repository aggiornato.
Per aggiungere una definizione di ambiente:
Nel repository GitHub o Azure DevOps creare una sottocartella nel percorso della cartella del repository.
Aggiungere due file alla nuova sottocartella del repository:
Un file di modello IaC.
Un ambiente come 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 di Resource Manager:
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
Usare la tabella seguente per comprendere i campi nel file environment.yaml :
Campo Descrizione name Nome della definizione dell'ambiente. versione Versione della definizione dell'ambiente. Questo campo è facoltativo. riepilogo Breve descrizione della definizione dell'ambiente. description Descrizione dettagliata della definizione dell'ambiente. Corridore Framework IaC usato dal modello. Il valore può essere ARM
oBicep
. È anche possibile specificare un percorso di un modello archiviato in un registro contenitori.templatePath Percorso del file modello IaC. Per altre informazioni sulle opzioni e sui tipi di dati che è possibile usare in environment.yaml, vedere Parametri e tipi di dati in environment.yaml.
Nel dev center passare a Cataloghi, selezionare il repository e quindi selezionare Sincronizza.
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
AdE usa immagini del contenitore per definire la modalità di distribuzione dei modelli per gli ambienti di distribuzione. AdE supporta ARM e Bicep in modo nativo, quindi è possibile configurare una definizione di ambiente che distribuisce le risorse di Azure per un ambiente di distribuzione aggiungendo i file modello (azuredeploy.json e environment.yaml) al catalogo. Ade usa quindi un'immagine del contenitore ARM o Bicep standard 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. ADE supporta immagini di contenitori personalizzate per le distribuzioni dell'ambiente, che consentono di distribuire framework IaC come Pulumi e Terraform.
Il team di Ade fornisce immagini di contenitori ARM e Bicep di esempio accessibili tramite il Registro artefatti Microsoft (noto anche come Registro Contenitori Microsoft) per iniziare.
Per altre informazioni sulla creazione di un'immagine del contenitore personalizzata, vedere:
- Configurare un'immagine del contenitore per l'esecuzione delle distribuzioni
- Configurare l'immagine del contenitore per eseguire distribuzioni con ARM e Bicep
- Configurare un'immagine del contenitore per eseguire distribuzioni con Terraform
Specificare l'immagine del contenitore di esempio ARM o Bicep
Nel file environment.yaml la proprietà runner specifica il percorso dell'immagine che si vuole usare. Per usare l'immagine di esempio pubblicata nella Registro artefatti Microsoft, usare il rispettivo strumento di esecuzione degli identificatori, come indicato nella tabella seguente.
Framework IaC | Valore Runner |
---|---|
ARM | ARM |
Bicep | Bicep |
Terraform | Nessuna immagine di esempio. Usare invece un'immagine del contenitore personalizzata. |
L'esempio seguente mostra uno strumento di esecuzione che fa riferimento all'immagine del contenitore Bicep di esempio:
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 dello strumento di esecuzione seguente nel file environment.yaml:
runner: "{YOUR_REGISTRY}.azurecr.io/{YOUR_REPOSITORY}:{YOUR_TAG}”`
Modificare il valore dello strumento di esecuzione per fare riferimento al repository e all'immagine personalizzata, come illustrato nell'esempio seguente:
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 |
---|---|
YOUR_REGISTRY | Registro di sistema in cui è archiviata l'immagine personalizzata. |
YOUR_REPOSITORY | Repository nel registro. |
YOUR_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 file environment.yaml per un modello di Resource Manager 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 sui parametri e sui relativi tipi di dati che è possibile usare in environment.yaml, vedere Parametri e tipi di dati in environment.yaml.
Gli sviluppatori possono fornire valori per parametri specifici per i propri ambienti tramite il portale per sviluppatori.
Gli sviluppatori possono anche fornire valori per parametri specifici per i propri ambienti tramite l'interfaccia della riga di comando.
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 az devcenter dev environment create
comando, vedere l'estensione devcenter dell'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 negli ambienti di distribuzione di Azure, 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 esistente, nel repository eliminare la sottocartella contenente il file modello e il file YAML dell'ambiente associato. Aggiornare quindi il catalogo.
Dopo aver eliminato una definizione di ambiente, i team di sviluppo non possono più usare la definizione di ambiente specifica 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 riesce.