Gör projektet kompatibelt med Azure Developer CLI

Azure Developer CLI (azd) gör det möjligt för utvecklare att autogenerera sina program för molnet med hjälp av mallar som finns på GitHub. Microsoft tillhandahåller flera mallar för att komma igång. I den här artikeln får du lära dig hur du gör ditt eget program azd kompatibelt.

Förstå mallarkitekturen

Följande diagram ger en snabb översikt över processen för att skapa en azd mall:

Diagram of Azure Developer CLI template workflow.

Alla azd mallar har samma filstruktur, baserat på azd konventioner. Följande hierarki visar den katalogstruktur som du skapar i den här självstudien.

├── .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]

Initiera mallen

Kommandot azd init används för att initiera ditt program för etablering och distribution av appresurser i Azure. Med det här kommandot uppmanas du att välja mellan två olika arbetsflöden för att initiera en mall som beskrivs i följande avsnitt.

  • Använd kod i den aktuella katalogen: Välj det här alternativet om du vill instruera azd att analysera koden i din katalog till identitet vilka tekniker den använder, till exempel programmeringsspråket, ramverket och databassystemet. azd skapar sedan automatiskt malltillgångar åt dig, till exempel tjänstdefinitionsfilen azure.yaml och infra mappen med infrastruktur-som-kod-filer.

  • Välj en mall: Välj det här alternativet om du vill använda en befintlig mall som utgångspunkt. Som standard azd kan du bläddra bland mallar från Awesome AZD-galleriet , men du kan också konfigurera dina egna mallgallerier. När du väljer en mall läggs mallens tillgångar till i din befintliga projektkatalog.

Information om vart och ett av dessa arbetsflöden beskrivs i avsnitten nedan.

  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 valfritt kommandoradsverktyg 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 genomsöker även 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.

Konfigurera CI/CD-pipelinen

Om mallen innehåller stöd för GitHub Actions eller Azure Pipelines kan du konfigurera en CI/CD-pipeline med hjälp av följande steg:

  1. Kör följande kommando för att skicka uppdateringar till lagringsplatsen. GitHub Actions-arbetsflödet utlöses på grund av uppdateringen.

    azd pipeline config    
    
  2. Använd webbläsaren och gå till GitHub-lagringsplatsen för projektet.

  3. Välj Åtgärder för att se arbetsflödet köras.

Rensa resurser

När du inte längre behöver resurserna som skapats i den här artikeln kör du följande kommando:

azd down

Se även

Begär hjälp

Information om hur du skickar in en bugg, begär hjälp eller föreslår en ny funktion för Azure Developer CLI finns på felsöknings - och supportsidan .

Nästa steg