Dela via


Lägga till CLI-stöd för Azure Developer i din app med hjälp av kod i appkatalogen

Azure Developer CLI (azd) innehåller två olika arbetsflöden för att initiera en mall som ska användas med din app, bland annat:

  • Använd kod i den aktuella katalogen: Den här metoden analyserar din app och skapar infrastruktur- och konfigurationsresurser som stöds automatiskt.
  • Välj en mall: Med den här metoden kan du integrera en befintlig mall med din app eller använda en befintlig mall som utgångspunkt för en ny app.

Båda dessa metoder utforskas i översiktsdokumentet Skapa Azure Developer CLI-mallar.

I den här artikeln får du lära dig hur du lägger till stöd för Azure Developer CLI (azd) i din app via användningskoden i den aktuella katalogmetoden . Mer information om den alternativa metoden finns i Lägga till azd stöd för din app med hjälp av ett befintligt malldokument . Du kan också gå till Utbildnings – skapa och distribuera azd mallar för mer information om hur du skapar azd mallar.

Använda kod i den aktuella katalogen

  1. Du kan följa stegen framåt med ditt eget projekt. Men om du föredrar att följa med i ett exempelprogram klonar du följande startdatabas till en tom katalog på datorn:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Öppna en terminal till projektets rotkatalog.

  3. azd init Kör kommandot för att initiera mallen.

    azd init
    
  4. När du uppmanas till det väljer du alternativet För att använda kod i den aktuella katalogen. azd analyserar projektet och ger en sammanfattning av de identifierade tjänsterna och rekommenderade Azure-värdresurser.

  5. Välj Bekräfta och fortsätt initiera min app. azd genererar följande tillgångar i projektets rotkatalog:

    • En azure.yaml fil med lämpliga tjänstdefinitioner.
    • En infra mapp med infrastruktur-som-kod-filer för att etablera och distribuera projektet till Azure.
    • En .azure mapp med miljövariabler som angetts i en .env fil.

    Mer information om den här identifierings- och genereringsprocessen finns senare i artikeln.

  6. De genererade filerna fungerar som de är för den angivna exempelappen och kan även för dina egna appar. Om det behövs kan de genererade filerna ändras så att de passar dina behov. Du kan till exempel behöva ändra filerna infrastruktur som kod i infra mappen ytterligare om din app förlitar sig på Azure-resurser utöver de som identifierades av azd.

  7. azd up Kör kommandot för att etablera och distribuera din app till Azure.

    azd up
    
  8. När du uppmanas till det väljer du önskad prenumeration och plats för att påbörja etablerings- och distributionsprocessen.

  9. När processen är klar klickar du på länken i azd utdata för att öppna appen i webbläsaren.

Utforska initieringsstegen

När du väljer Använd kod i det aktuella katalogarbetsflödetazd init analyserar kommandot projektet och skapar kod automatiskt baserat på vad den identifierar. I avsnitten nedan beskrivs information om hur den här processen fungerar och vilka tekniker som stöds för närvarande.

Detection

Kommandot azd init identifierar projektfiler för språk som stöds i din projektkatalog och underkataloger. azd söker också igenom paketberoenden för att samla in information om webbramverk eller databaser som appen använder. Om det behövs kan du manuellt lägga till eller redigera de identifierade komponenterna enligt beskrivningen i bekräftelsesammanfattningsprompten.

Den aktuella identifieringslogik är följande:

  • Språk som stöds:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Databaser som stöds:
    • MongoDB
    • PostgreSQL
  • För Python och JavaScript/TypeScript identifieras webbramverk och databaser automatiskt.
  • När ett JavaScript-/TypeScript-projekt använder ett webbramverk på klientsidan (eller på klientsidan) klassificeras det som en klientdelstjänst. Om tjänsten använder ett klientwebbramverk som för närvarande inte identifieras kan du välja JQuery för att tillhandahålla motsvarande klassificering och beteende för klientdelstjänsten.

Generation

När du har bekräftat de identifierade komponenterna azd init genererar du de infrastruktur-som-kod-filer som behövs för att distribuera ditt program till Azure.

Generationslogik är följande:

  • Värdar som stöds:
    • Azure Container Apps.
  • För databaser används den mappning mellan databasteknik och tjänst som stöds:
    • MongoDB: Azure CosmosDB API för MongoDB
    • PostgreSQL: Flexibel Server för Azure Database for PostgreSQL
    • Redis: Azure Container Apps Redis-tillägg
  • Tjänster som använder databaser har miljövariabler som ger anslutning till databasen som förkonfigureras som standard.
  • När både klient- och serverdelstjänster identifieras uppdateras CORS-konfigurationen på Azure-värden för serverdelstjänster så att standardvärddomänen för klientdelstjänster tillåts. Detta kan ändras eller tas bort vid behov i infrastruktur som kodkonfigurationsfiler.

Lägga till stöd för dev-containrar

Du kan också göra mallen kompatibel med utvecklingscontainrar och Codespaces. Med en utvecklingscontainer kan du använda en container som en komplett utvecklingsmiljö. Det kan användas för att köra ett program, för att separera verktyg, bibliotek eller körningar som behövs för att arbeta med en kodbas och för att underlätta kontinuerlig integrering och testning. Dev-containrar kan köras lokalt eller via fjärranslutning i ett privat eller offentligt moln. (Källa: https://containers.dev/)

Så här lägger du till stöd för dev-containrar:

  1. Skapa en .devcontainer-mapp i projektets rot.

  2. Skapa en devcontainer.json fil i .devcontainer mappen med önskade konfigurationer. Startmallen azd innehåller en exempelfil devcontainer.json som du kan kopiera till projektet och ändra efter behov.

Läs mer om att arbeta med dev-containrar i Visual Studio Code-dokumentationen.

Lägga till stöd för en CI/CD-pipeline

Du kan också lägga till stöd för CI/CD i mallen med hjälp av GitHub-åtgärder eller Azure DevOps med hjälp av följande steg:

  1. Lägg till en .github mapp för GitHub-åtgärder eller en .ado mapp för Azure DevOps i roten för projektet.

  2. Lägg till en arbetsflödesfil i den nya mappen. Startmallen azd innehåller en GitHub Actions-exempelarbetsarbetsfil och Azure DevOps Pipelines-exempelfiler för varje plattform som du kan kopiera till projektet och ändra efter behov.

  3. Du kan också behöva uppdatera main.parameters.json filen i mappen infra med de miljövariabler som krävs för att arbetsflödet ska kunna köras.