Delen via


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

  1. 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
    
  2. Open een terminal naar de hoofdmap van het project.

  3. Voer de azd init opdracht uit om de sjabloon te initialiseren.

    azd init
    
  4. 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.

  5. 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.

  6. 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 door azd.

  7. Voer de azd up opdracht uit om uw app in te richten en te implementeren in Azure.

    azd up
    
  8. Wanneer u hierom wordt gevraagd, selecteert u het gewenste abonnement en de gewenste locatie om het inrichtings- en implementatieproces te starten.

  9. 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:

  1. Maak een .devcontainer-map in de hoofdmap van uw project.

  2. Maak een devcontainer.json bestand in de .devcontainer map met de gewenste configuraties. De azd starterssjabloon bevat een voorbeeldbestand devcontainer.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:

  1. Voeg een .github map toe voor GitHub-acties of een .ado map voor Azure DevOps aan de hoofdmap van uw project.

  2. 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.

  3. Mogelijk moet u ook het main.parameters.json bestand in uw infra map bijwerken met de vereiste omgevingsvariabelen om uw werkstroom uit te voeren.