Condividi tramite


Panoramica degli ambienti dell'interfaccia della riga di comando per sviluppatori di Azure

L'interfaccia della riga di comando per sviluppatori di Azure (azd) consente di gestire più ambienti di distribuzione per i progetti, per mantenere separate le configurazioni per sviluppo, test e produzione. Questo articolo illustra i concetti essenziali su come usare gli ambienti per gestire il processo di sviluppo e distribuzione.

Che cosa sono gli ambienti?

Un ambiente nell'interfaccia della riga di comando per sviluppatori di Azure (azd) è un set denominato di configurazioni per una distribuzione dell'app, ad esempio sviluppo, test o produzione. È possibile configurare ambienti diversi con valori diversi. Gli ambienti servono diversi scopi importanti:

  • Isolamento: mantenere separate le distribuzioni di sviluppo, test e produzione.
  • Gestione della configurazione: mantenere impostazioni diverse per ogni ambiente.
  • Collaborazione: consentire ai membri del team di lavorare con i propri ambienti.
  • Organizzazione delle risorse: raggruppare ed effettuare il provisioning delle risorse di Azure in base all'ambiente.
  • Riproducibilità: garantire distribuzioni coerenti in diverse fasi.

Ogni ambiente ha le proprie impostazioni di configurazione e gruppo di risorse di Azure. Questo isolamento dell'ambiente consente di evitare che le modifiche in un ambiente influiscano sugli altri.

Struttura e configurazione dell'ambiente

Gli ambienti dell'interfaccia della riga di comando per sviluppatori di Azure (azd) si trovano in una struttura di directory all'interno del progetto:

├── .azure                          [Created when you run azd init or azd up]
│   ├── <environment-name-1>        [Directory for environment-specific configurations]
│   │   ├── .env                    [Environment variables for this environment]
│   │   └── config.json             [Additional configuration parameters for this environment]
│   ├── <environment-name-2>        [Another environment]
│   │   ├── .env                    
│   │   └── config.json
│   └── config.json                 [Global azd configuration]

I componenti chiave di questa struttura sono:

  • .azure directory: directory radice per tutte le configurazioni dell'ambiente. Escluso dal controllo del codice sorgente dal .gitignore file per impostazione predefinita.
  • Directory specifiche dell'ambiente: directory denominate dopo gli ambienti, ad esempio dev, test, prod.
  • .env file: contiene variabili specifiche dell'ambiente usate dall'applicazione e durante la distribuzione.
  • config.json: usato per guidare le impostazioni che influenzano azd il comportamento e le funzionalità dei comandi. Questo file non deve essere usato direttamente dagli utenti finali.

Nomi dell'ambiente

La denominazione dell'ambiente segue in genere questi modelli:

  • Progetti team: <project-name-[dev/int/prod]>
  • Progetti personali: <personal-unique-alias-[dev/int/prod]>

Queste convenzioni di denominazione non vengono applicate dall'utente azd e sono configurabili dall'utente.

Variabili di ambiente

Le variabili di ambiente dell'interfaccia della riga di comando per sviluppatori di Azure consentono di archiviare le impostazioni di configurazione che influenzano e possono variare tra gli ambienti. Quando si eseguono i comandi dell'interfaccia della riga di comando per sviluppatori di Azure, queste variabili vengono usate per:

  • Configurare le impostazioni dell'applicazione, ad esempio gli endpoint per i servizi di Azure.
  • Definire i parametri dell'infrastruttura per influenzare il processo di provisioning.

Il .env file contiene queste variabili in un formato standard:

AZURE_ENV_NAME=dev
AZURE_LOCATION=eastus
AZURE_SUBSCRIPTION_ID=00000000-0000-0000-0000-000000000000
AZURE_RESOURCE_GROUP=rg-dev-12345
SERVICE_WEB_HOSTNAME=web-dev-12345.azurewebsites.net
SERVICE_API_HOSTNAME=api-dev-12345.azurewebsites.net

Le variabili di ambiente comuni includono:

Variabile Descrizione
AZURE_ENV_NAME Nome dell'ambiente corrente
AZURE_LOCATION Area di Azure in cui vengono distribuite le risorse
AZURE_SUBSCRIPTION_ID ID della sottoscrizione di Azure usata per questo ambiente
AZURE_RESOURCE_GROUP Nome del gruppo di risorse per questo ambiente

Suggerimento

Per altre variabili di ambiente comuni e esempi specifici del servizio, vedere la documentazione relativa alle variabili di ambiente .

Quando si lavora con le variabili di ambiente:

  • Evitare di eseguire il commit dei .env file nel controllo del codice sorgente. Se la configurazione dell'ambiente deve essere persistente o condivisa, gli utenti devono usare ambienti remoti.
  • Usare una denominazione coerente tra gli ambienti.
  • Usare il azd env set comando per aggiornare le variabili in modo sicuro.

Avvertimento

Non archiviare mai segreti in un file dell'interfaccia della riga di comando .env per sviluppatori di Azure. Questi file possono essere facilmente condivisi o copiati in percorsi non autorizzati o controllati nel controllo del codice sorgente. Usare servizi come Azure Key Vault o Il controllo degli accessi in base al ruolo di Azure per soluzioni protette o senza segreti.

Confrontare altri ambienti framework

Molti framework di programmazione e strumenti, ad esempio Node.js, Django o React usano .env i file per la configurazione. Anche se l'interfaccia della riga di comando per sviluppatori di Azure (azd) usa anche i .env file, esistono differenze importanti:

Concetto Interfaccia della riga di comando per sviluppatori di Azure .env File di framework .env
Ubicazione Archiviato in .azure/<environment-name>/.env In genere archiviato nella directory radice del progetto
Supporto dell'ambiente Supporto per più ambienti definiti dall'utente (sviluppo, test, prod) Spesso richiedono il cambio di file manuale o le convenzioni di denominazione (.env.development, .env.production)
Meccanismo di caricamento Caricamento automatico da azd comandi In genere è necessario caricare esplicitamente nel codice dell'applicazione o negli script di compilazione
Integrazione Integrazione approfondita con i servizi di Azure e il provisioning delle risorse Configurazione per utilizzo generico, non specifica di Azure
Gestione delle variabili Gestito tramite azd env comandi In genere è stato modificato manualmente o tramite script personalizzati

Sebbene entrambi usino scopi simili, l'approccio dell'interfaccia della riga di comando per sviluppatori di .env Azure aggiunge struttura e strumenti progettati per la gestione di più ambienti di distribuzione e risorse di Azure.

Annotazioni

Se il progetto usa già file specifici .env del framework, è possibile mantenere entrambi i sistemi di configurazione senza conflitti. azd le variabili di ambiente sostituiscono le variabili di ambiente di sistema con lo stesso nome per alcune operazioni.

Passaggi successivi