Delen via


Overzicht van Azure Developer CLI-omgevingen

Met de Azure Developer CLI (azd) kunt u meerdere implementatieomgevingen voor uw projecten beheren, om configuraties gescheiden te houden voor ontwikkeling, testen en productie. In dit artikel worden essentiële concepten uitgelegd over hoe u omgevingen kunt gebruiken om uw ontwikkel- en implementatieproces te beheren.

Wat zijn omgevingen?

Een omgeving in de Azure Developer CLI (azd) is een benoemde set configuraties voor een implementatie van uw app, zoals dev, test of prod. Verschillende omgevingen kunnen worden geconfigureerd met verschillende waarden. Omgevingen dienen voor verschillende belangrijke doeleinden:

  • Isolatie: ontwikkel-, test- en productie-implementaties gescheiden houden.
  • Configuratiebeheer: Onderhoud verschillende instellingen voor elke omgeving.
  • Samenwerking: teamleden in staat stellen om met hun eigen omgevingen te werken.
  • Resourceorganisatie: Azure-resources groeperen en inrichten per omgeving.
  • Reproduceerbaarheid: zorg voor consistente implementaties in verschillende fasen.

Elke omgeving heeft een eigen Azure-resourcegroep en configuratie-instellingen. Deze omgevingisolatie helpt voorkomen dat wijzigingen in de ene omgeving van invloed zijn op andere.

Omgevingsstructuur en -configuratie

Azure Developer CLI-omgevingen bevindenazd zich in een mapstructuur binnen uw project:

├── .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 belangrijkste onderdelen van deze structuur zijn:

  • .azure directory: de hoofdmap voor alle omgevingsconfiguraties. Standaard uitgesloten van broncodebeheer door het .gitignore bestand.
  • Omgevingsspecifieke directory's: mappen die zijn genoemd naar uw omgevingen, zoals dev, prodtest.
  • .env bestand: bevat omgevingsspecifieke variabelen die door uw toepassing en tijdens de implementatie worden gebruikt.
  • config.json: Wordt gebruikt om instellingen aan te sturen die invloed hebben op azd het gedrag en de functies van opdrachten. Dit bestand is niet bedoeld om rechtstreeks door eindgebruikers te worden gebruikt.

Omgevingsnamen

Omgevingsnaam volgt doorgaans deze patronen:

  • Teamprojecten: <project-name-[dev/int/prod]>
  • Persoonlijke projecten: <personal-unique-alias-[dev/int/prod]>

Deze naamconventies worden niet afgedwongen door azd en kunnen door de gebruiker worden geconfigureerd.

Omgevingsvariabelen

Azure Developer CLI-omgevingsvariabelen bieden een manier om configuratie-instellingen op te slaan die van invloed zijn op en kunnen variëren tussen omgevingen. Wanneer u Azure Developer CLI-opdrachten uitvoert, worden deze variabelen gebruikt om:

  • Configureer uw toepassingsinstellingen, zoals eindpunten voor Azure-services.
  • Definieer infrastructuurparameters om het inrichtingsproces te beïnvloeden.

Het .env bestand bevat deze variabelen in een standaardindeling:

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

Algemene omgevingsvariabelen zijn:

Veranderlijk Beschrijving
AZURE_ENV_NAME Naam van de huidige omgeving
AZURE_LOCATION Azure-regio waarin resources worden geïmplementeerd
AZURE_SUBSCRIPTION_ID Id van het Azure-abonnement dat wordt gebruikt voor deze omgeving
AZURE_RESOURCE_GROUP Naam van de resourcegroep voor deze omgeving

Aanbeveling

Ga naar de documentatie voor omgevingsvariabelen voor andere algemene omgevingsvariabelen en servicespecifieke voorbeelden.

Wanneer u met omgevingsvariabelen werkt:

  • Vermijd het doorvoeren van .env bestanden naar broncodebeheer. Als de omgevingsconfiguratie moet worden behouden of gedeeld, moeten gebruikers externe omgevingen gebruiken.
  • Gebruik consistente naamgeving in omgevingen.
  • Gebruik de azd env set opdracht om variabelen veilig bij te werken.

Waarschuwing

Sla nooit geheimen op in een Azure Developer CLI-bestand .env . Deze bestanden kunnen eenvoudig worden gedeeld of gekopieerd naar niet-geautoriseerde locaties of worden ingecheckt in broncodebeheer. Gebruik services zoals Azure Key Vault of Op rollen gebaseerd toegangsbeheer (RBAC) voor beveiligde of geheimloze oplossingen.

Andere frameworkomgevingen vergelijken

Veel programmeerframeworks en hulpprogramma's zoals Node.js, Django of React maken gebruik van .env bestanden voor configuratie. Hoewel Azure Developer CLI (azd) ook bestanden gebruikt .env , zijn er belangrijke verschillen:

Begrip Azure Developer CLI .env Framework-bestanden .env
Plaats Opgeslagen in .azure/<environment-name>/.env Normaal gesproken opgeslagen in de hoofdmap van het project
Omgevingsondersteuning Ondersteuning voor meerdere door de gebruiker gedefinieerde omgevingen (dev, test, prod) Vaak moet handmatig worden geschakeld naar bestanden of naamconventies (.env.development, .env.production)
Laadmechanisme Automatisch geladen door azd opdrachten Meestal vereisen expliciet laden in toepassingscode of buildscripts
Integratie Diep geïntegreerd met Azure-services en resourceinrichting Configuratie voor algemeen gebruik, niet specifiek voor Azure
Variabel beheer Beheerd via azd env opdrachten Normaal gesproken handmatig bewerkt of via aangepaste scripts

Hoewel beide vergelijkbare doeleinden dienen, voegt de benadering van .env Azure Developer CLI structuur en hulpprogramma's toe die zijn ontworpen voor het beheren van meerdere implementatieomgevingen en Azure-resources.

Opmerking

Als uw project al frameworkspecifieke .env bestanden gebruikt, kunt u beide configuratiesystemen zonder conflicten behouden. azd omgevingsvariabelen overschrijven systeemomgevingsvariabelen met dezelfde naam voor sommige bewerkingen.

Volgende stappen