Uw project compatibel maken met Azure Developer CLI
Met Azure Developer CLI (azd
) kunnen ontwikkelaars hun toepassingen voor de cloud opzetten met behulp van sjablonen die worden gehost op GitHub. Microsoft biedt verschillende sjablonen om u op weg te helpen. In dit artikel leert u hoe u uw eigen toepassing azd
compatibel kunt maken.
Inzicht in de sjabloonarchitectuur
In het volgende diagram ziet u een kort overzicht van het proces voor het maken van een azd
sjabloon:
Alle azd
sjablonen hebben dezelfde bestandsstructuur, op azd
basis van conventies. In de volgende hiërarchie ziet u de mapstructuur die u in deze zelfstudie gaat bouwen.
├── .azdo [ Configures an Azure Pipeline ]
├── .devcontainer [ For DevContainer ]
├── .github [ Configures a GitHub workflow ]
├── .vscode [ VS Code workspace configurations ]
├── .azure [ Stores Azure configurations and environment variables ]
├── infra [ Contains infrastructure as code files ]
│ ├── main.bicep/main.tf [ Main infrastructure file ]
│ ├── main.parameters.json/main.tfvars.json [ Parameters file ]
│ └── core/modules [ Contains reusable Bicep/Terraform modules ]
└── azure.yaml [ Describes the app and type of Azure resources]
De sjabloon initialiseren
De azd init
opdracht wordt gebruikt om uw toepassing te initialiseren voor het inrichten en implementeren van de app-resources in Azure. Met deze opdracht wordt u gevraagd om te kiezen tussen twee verschillende werkstromen om een sjabloon te initialiseren die in de volgende secties wordt beschreven.
Gebruik code in de huidige map: selecteer deze optie om
azd
de code in uw directory te analyseren op de identiteit van de technologieën die worden gebruikt, zoals de programmeertaal, het framework en het databasesysteem.azd
genereert vervolgens automatisch sjabloonassets voor u, zoals hetazure.yaml
servicedefinitiebestand en deinfra
map met infrastructuur als codebestanden.Selecteer een sjabloon: selecteer deze optie om een bestaande sjabloon als uitgangspunt te gebruiken.
azd
Standaard kunt u door sjablonen bladeren vanuit de Galerie Awesome AZD, maar u kunt ook uw eigen sjabloongalerieën configureren. Wanneer u een sjabloon selecteert, worden de assets van die sjabloon toegevoegd aan uw bestaande projectmap.
De details van elk van deze werkstromen worden beschreven in de onderstaande secties.
U kunt de stappen vooruit volgen met uw eigen project. Als u echter liever een voorbeeldtoepassing gebruikt, kloont u de volgende startersopslagplaats naar een lege map op uw computer:
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Open het opdrachtregelprogramma van uw keuze naar de hoofdmap van het project.
Voer de
azd init
opdracht uit om de sjabloon te initialiseren.azd init
Wanneer u hierom wordt gevraagd, selecteert u de optie voor het gebruik van code in de huidige map.
azd
analyseert het project en biedt een overzicht van de gedetecteerde services en aanbevolen Azure-hostingbronnen.Selecteer Bevestigen en ga verder met het initialiseren van mijn app.
azd
genereert de volgende assets in de hoofdmap van het project:- Een
azure.yaml
bestand met de juiste servicedefinities. - Een
infra
map met infrastructuur als codebestanden voor het inrichten en implementeren van het project in Azure. - Een
.azure
map met omgevingsvariabelen die zijn ingesteld in een.env
bestand.
Verderop in het artikel vindt u meer informatie over dit detectie- en generatieproces.
- Een
De gegenereerde bestanden werken als zodanig voor de opgegeven voorbeeld-app en kunnen ook voor uw eigen apps worden gebruikt. Indien nodig kunnen de gegenereerde bestanden worden aangepast aan uw behoeften. Mogelijk moet u de infrastructuur als codebestanden in de
infra
map verder wijzigen als uw app afhankelijk is van Azure-resources buiten de resources die zijn geïdentificeerd doorazd
.Voer de
azd up
opdracht uit om uw app in te richten en te implementeren in Azure.azd up
Wanneer u hierom wordt gevraagd, selecteert u het gewenste abonnement en de gewenste locatie om het inrichtings- en implementatieproces te starten.
Wanneer het proces is voltooid, klikt u op de koppeling in de
azd
uitvoer om de app in de browser te openen.
De initialisatiestappen verkennen
Wanneer u de code gebruiken in de huidige mapwerkstroom selecteert, analyseert de azd init
opdracht uw project en wordt de code automatisch gegenereerd op basis van wat deze detecteert. In de onderstaande secties wordt uitgelegd hoe dit proces werkt en welke technologieën momenteel worden ondersteund.
Detection
Met de azd init
opdracht worden projectbestanden gedetecteerd voor ondersteunde talen die zich in uw projectmap en submappen bevinden. azd
scant ook pakketafhankelijkheden om informatie te verzamelen over de webframeworks of databases die uw app gebruikt. Indien nodig kunt u de gedetecteerde onderdelen handmatig toevoegen of bewerken, zoals wordt weergegeven in de bevestigingssamenvattingsprompt.
De huidige detectielogica is als volgt:
- Ondersteunde talen:
- Python
- JavaScript/TypeScript
- .NET
- Java
- Ondersteunde databases:
- MongoDB
- PostgreSQL
- Voor Python en JavaScript/TypeScript worden webframeworks en databases automatisch gedetecteerd.
- Wanneer een JavaScript-/TypeScript-project een front-endwebframework (of client-side) gebruikt, wordt het geclassificeerd als een front-endservice. Als uw service gebruikmaakt van een front-endwebframework dat momenteel niet is gedetecteerd, kunt u JQuery selecteren om gelijkwaardige front-endserviceclassificatie en -gedrag te bieden.
Generatie
Nadat u de gedetecteerde onderdelen hebt bevestigd, azd init
worden de infrastructuur als codebestanden gegenereerd die nodig zijn om uw toepassing in Azure te implementeren.
De generatielogica is als volgt:
- Ondersteunde hosts:
- Azure Container Apps.
- Voor databases wordt de ondersteunde toewijzing tussen databasetechnologie en service gebruikt:
- MongoDB: Azure CosmosDB-API voor MongoDB
- PostgreSQL: Flexibele Azure Database for PostgreSQL-server
- Redis: Azure Container Apps Redis-invoegtoepassing
- Services die gebruikmaken van databases hebben omgevingsvariabelen die standaard verbinding bieden met de database die vooraf is geconfigureerd.
- Wanneer zowel front-end- als back-endservices worden gedetecteerd, wordt de CORS-configuratie op de Azure-host voor back-endservices bijgewerkt om het standaardhostingdomein van front-endservices toe te staan. Dit kan zo nodig worden gewijzigd of verwijderd in de infrastructuur als codeconfiguratiebestanden.
Ondersteuning voor dev-containers toevoegen
U kunt uw sjabloon ook compatibel maken met ontwikkelcontainers en Codespaces. Met een dev-container kunt u een container gebruiken als een volledige ontwikkelomgeving. Het kan worden gebruikt om een toepassing uit te voeren, om hulpprogramma's, bibliotheken of runtimes te scheiden die nodig zijn voor het werken met een codebasis en om te helpen bij continue integratie en testen. Dev-containers kunnen lokaal of extern worden uitgevoerd in een privé- of openbare cloud. (Bron: https://containers.dev/)
Ondersteuning voor dev-containers toevoegen:
Maak een .devcontainer-map in de hoofdmap van uw project.
Maak een
devcontainer.json
bestand in de.devcontainer
map met de gewenste configuraties. Deazd
starterssjabloon bevat een voorbeeldbestanddevcontainer.json
dat u naar uw project kunt kopiëren en indien nodig kunt wijzigen.
Lees meer over het werken met dev-containers in de Visual Studio Code-documentatie.
Ondersteuning toevoegen voor een CI/CD-pijplijn
U kunt ook ondersteuning voor CI/CD toevoegen in uw sjabloon met behulp van GitHub Actions of Azure DevOps met behulp van de volgende stappen:
Voeg een
.github
map toe voor GitHub-acties of een.ado
map voor Azure DevOps aan de hoofdmap van uw project.Voeg een werkstroombestand toe aan de nieuwe map. De
azd
starterssjabloon bevat een voorbeeldwerkstroombestand voor GitHub Actions en Azure DevOps Pipelines-voorbeeldbestanden voor elk platform dat u naar uw project kunt kopiëren en indien nodig kunt wijzigen.Mogelijk moet u ook het
main.parameters.json
bestand in uwinfra
map bijwerken met de vereiste omgevingsvariabelen om uw werkstroom uit te voeren.
De CI/CD-pijplijn configureren
Als uw sjabloon ondersteuning voor GitHub Actions of Azure Pipelines bevat, kunt u een CI/CD-pijplijn configureren met behulp van de volgende stappen:
Voer de volgende opdracht uit om updates naar de opslagplaats te pushen. De GitHub Actions-werkstroom wordt geactiveerd vanwege de update.
azd pipeline config
Ga in uw browser naar de GitHub-opslagplaats voor uw project.
Selecteer Acties om de werkstroom uit te voeren.
Resources opschonen
Wanneer u de resources die in dit artikel zijn gemaakt niet meer nodig hebt, voert u de volgende opdracht uit:
azd down
Zie ook
- Maak Bicep-bestanden met Visual Studio Code voor een inleiding tot het werken met Bicep-bestanden.
- Bicep-voorbeelden
- Azure Resource Manager-sjablonen (ARM-sjablonen) decompileren naar Bicep
- Azure Developer CLI's azure.yaml-schema
Hulp vragen
Ga naar de pagina voor probleemoplossing en ondersteuning voor informatie over het indienen van een bug, hulp vragen of een nieuwe functie voorstellen voor de Azure Developer CLI.
Volgende stappen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor