Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Med Azure Developer CLI (azd) kan du hantera flera distributionsmiljöer för dina projekt för att hålla konfigurationerna åtskilda för utveckling, testning och produktion. Den här artikeln beskriver viktiga begrepp om hur du kan använda miljöer för att hantera din utveckling och distributionsprocess.
Vad är miljöer?
En miljö i Azure Developer CLI (azd) är en namngiven uppsättning konfigurationer för en distribution av din app, till exempel utveckling, testning eller prod. Olika miljöer kan konfigureras med olika värden. Miljöer har flera viktiga syften:
- Isolering: Håll distributioner för utveckling, testning och produktion åtskilda.
- Konfigurationshantering: Underhålla olika inställningar för varje miljö.
- Samarbete: Gör det möjligt för gruppmedlemmar att arbeta med sina egna miljöer.
- Resursorganisation: Gruppera och etablera Azure-resurser efter miljö.
- Reproducerbarhet: Säkerställ konsekventa distributioner i olika faser.
Varje miljö har en egen Azure-resursgrupp och konfigurationsinställningar. Den här miljöisoleringen hjälper till att förhindra att ändringar i en miljö påverkar andra.
Miljöstruktur och konfiguration
Azure Developer CLI-miljöer (azd) finns i en katalogstruktur i projektet:
├── .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]
De viktigaste komponenterna i den här strukturen är:
-
.azurekatalog: Rotkatalogen för alla miljökonfigurationer. Exkluderas från källkontrollen av.gitignorefilen som standard. -
Miljöspecifika kataloger: Kataloger med namnet efter dina miljöer, till exempel
dev,test,prod. -
.envfil: Innehåller miljöspecifika variabler som används av ditt program och under distributionen. -
config.json: Används för att köra inställningar som påverkarazdkommandobeteende och funktioner. Den här filen är inte avsedd att användas direkt av slutanvändare.
Miljönamn
Namngivning av miljön följer vanligtvis dessa mönster:
- Teamprojekt:
<project-name-[dev/int/prod]> - Personliga projekt:
<personal-unique-alias-[dev/int/prod]>
Dessa namngivningskonventioner tillämpas inte av azd och kan konfigureras av användaren.
Miljövariabler
Azure Developer CLI-miljövariabler är ett sätt att lagra konfigurationsinställningar som påverkar och kan variera mellan miljöer. När du kör CLI-kommandon för Azure Developer används dessa variabler för att:
- Konfigurera dina programinställningar, till exempel slutpunkter för Azure-tjänster.
- Definiera infrastrukturparametrar som påverkar etableringsprocessen.
Filen .env innehåller dessa variabler i standardformat:
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
Vanliga miljövariabler är:
| Variabel | Beskrivning |
|---|---|
AZURE_ENV_NAME |
Namnet på den aktuella miljön |
AZURE_LOCATION |
Azure-region där resurser distribueras |
AZURE_SUBSCRIPTION_ID |
ID för Den Azure-prenumeration som används för den här miljön |
AZURE_RESOURCE_GROUP |
Namnet på resursgruppen för den här miljön |
Tips/Råd
Andra vanliga miljövariabler och tjänstspecifika exempel finns i dokumentationen om miljövariabler .
När du arbetar med miljövariabler:
- Undvik att checka in
.envfiler till källkontrollen. Om miljökonfigurationen måste bevaras eller delas bör användarna använda fjärrmiljöer. - Använd konsekvent namngivning i olika miljöer.
-
azd env setAnvänd kommandot för att uppdatera variabler på ett säkert sätt.
Varning
Lagra aldrig hemligheter i en Azure Developer CLI-fil .env . Dessa filer kan enkelt delas eller kopieras till obehöriga platser eller checkas in i källkontrollen. Använd tjänster som Azure Key Vault eller Rollbaserad åtkomstkontroll i Azure (RBAC) för skyddade eller hemlighetslösa lösningar.
Jämföra andra ramverksmiljöer
Många programmeringsramverk och verktyg som Node.js, Django eller React använder .env filer för konfiguration. Även om Azure Developer CLI (azd) också använder .env filer finns det viktiga skillnader:
| Begrepp | Azure Developer CLI .env |
Ramverksfiler .env |
|---|---|---|
| Läge | Lagras i .azure/<environment-name>/.env |
Lagras vanligtvis i projektrotkatalogen |
| Miljöstöd | Stöd för flera användardefinierade miljöer (dev, test, prod) | Kräver ofta manuell filväxling eller namngivningskonventioner (.env.development, .env.production) |
| Inläsningsmekanism | Läses in automatiskt av azd kommandon |
Kräver vanligtvis explicit inläsning i programkod eller byggskript |
| Integration | Djupt integrerad med Azure-tjänster och resursetablering | Konfiguration av generell användning, inte Azure-specifik |
| Variabelhantering | Hanteras via azd env kommandon |
Redigeras vanligtvis manuellt eller via anpassade skript |
Båda har liknande syften, men Azure Developer CLI:s .env metod lägger till struktur och verktyg som är utformade för att hantera flera distributionsmiljöer och Azure-resurser.
Anmärkning
Om ditt projekt redan använder ramverksspecifika .env filer kan du behålla båda konfigurationssystemen utan konflikter.
azd miljövariabler åsidosätter systemmiljövariabler med samma namn för vissa åtgärder.