Azure Developer CLI-ondersteuning toevoegen aan uw app met behulp van code in uw app-directory
De Azure Developer CLI (azd
) biedt twee verschillende werkstromen voor het initialiseren van een sjabloon voor gebruik met uw app, waaronder:
- Gebruik code in de huidige map: met deze benadering analyseert u uw app en worden ondersteunde infrastructuur- en configuratiebronnen automatisch gegenereerd.
- Selecteer een sjabloon: Met deze methode kunt u een bestaande sjabloon integreren met uw app of een bestaande sjabloon gebruiken als uitgangspunt voor een nieuwe app.
Beide methoden worden verkend in het overzichtsdocumenten voor Azure Developer CLI-sjablonen maken.
In dit artikel leert u hoe u ondersteuning voor de Azure Developer CLI (azd
) toevoegt aan uw app via de code gebruiken in de huidige directorybenadering . Ga naar de ondersteuning toevoegen azd
aan uw app met behulp van een bestaand sjabloondocumenten voor meer informatie over de alternatieve benadering. U kunt ook de trainings- en implementatiesjablonen azd
bezoeken voor meer informatie over het bouwen van azd
sjablonen.
Code gebruiken in de huidige map
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 een terminal 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.