Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
-
.azuredirectory: directory radice per tutte le configurazioni dell'ambiente. Escluso dal controllo del codice sorgente dal.gitignorefile per impostazione predefinita. -
Directory specifiche dell'ambiente: directory denominate dopo gli ambienti, ad esempio
dev,test,prod. -
.envfile: contiene variabili specifiche dell'ambiente usate dall'applicazione e durante la distribuzione. -
config.json: usato per guidare le impostazioni che influenzanoazdil 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
.envfile 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 setcomando 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.