Dela via


Lägga till Stöd för Azure Developer CLI i din app med hjälp av en befintlig mall

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 metoden Välj en mall . 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.

Välj en mall för din app

Med kommandot Välj ett mallarbetsflöde azd init kan du välja en befintlig azd mall som ska användas som utgångspunkt. Innehållet i den valda mallen läggs till i projektets rotkatalog. De flesta mallar tillhandahåller den nödvändiga uppsättningen azd filer och mappar, och många innehåller en fullständig uppsättning infrastruktur-som-kod-filer för att etablera Azure-resurser för en vald programstack.

I det här exemplet använder du mallen Starter – Bicep , som innehåller den grundläggande strukturen för en azd mall och en användbar exempelkod för att komma igång. Startmallar är ett bra val när du vill skapa rätt mallstruktur och starta resurser, men ändå skapa egna infrastrukturfiler.

  1. Om du vill följa stegen framåt med hjälp av ett befintligt exempelprogram klonar du följande startprojekt till en tom katalog på datorn:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Gå till rotkatalogen för det klonade projektet i valfritt kommandoradsverktyg.

  3. azd init Kör kommandot för att initiera en azd mall.

    azd init
    
  4. Välj alternativet Välj en mall när du uppmanas att göra det.

    En skärmbild som visar alternativen för att välja en mall.

  5. I listan med mallar väljer du Starter – Bicep. Du kan skriva mallnamnet eller använda tangentbordspiltangenterna för att hitta det.

  6. När du uppmanas till det anger du ett kort miljönamn, till exempel testenv.

  7. När du har kört azd initläggs följande tillgångar till i den aktuella katalogen:

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

Uppdatera Bicep-filerna

Projektet innehåller nu en malls kärnstruktur och tillgångar azd . Men för att etablera Azure-resurserna för ditt specifika projekt måste Bicep-filerna i infra mappen uppdateras. För att vara värd för exempelprogrammet måste du definiera följande resurser med hjälp av Bicep-filer:

  • En Azure App Service-plan
  • En Azure App Service som körs på Linux
  1. Öppna rotprojektkatalogen i valfri redigerare, till exempel Visual Studio Code.

  2. main.bicep Öppna filen i infra mappen med hjälp av redigeringsprogrammet. Den här filen innehåller användbar exempelkod för att konfigurera viktiga variabler, parametrar och namngivningskonventioner. Under kommentarsblocket runt rad 50 som läser Add resources to be provisioned belowlägger du till följande Bicep:

    // Creates an app service instance to host the app
    module web './core/host/appservice.bicep' = {
      name: 'web'
      scope: rg
      params: {
        name: '${abbrs.webSitesAppService}web-${resourceToken}'
        location: location
        tags: union(tags, { 'azd-service-name': 'web' })
        appServicePlanId: appServicePlan.outputs.id
        runtimeName: 'python'
        runtimeVersion: '3.8'
        scmDoBuildDuringDeployment: true
      }
    }
    
    // Create an App Service Plan to group applications under the same payment plan and SKU
    module appServicePlan './core/host/appserviceplan.bicep' = {
      name: 'appserviceplan'
      scope: rg
      params: {
        name: '${abbrs.webServerFarms}${resourceToken}'
        location: location
        tags: tags
        sku: {
          name: 'B1'
        }
      }
    }
    

    Kommentar

    • En unik sträng genereras baserat på prenumerations-ID och används som en ${resourceToken} variabel. Den här token läggs till i namnet på alla Azure-resurser som skapats av azd.
    • azd använder taggar för att identifiera resurser så att du kan ändra namnen baserat på organisationens namngivningskonvention.
    • Taggen 'azd-service-name': 'web' på apptjänsten är värdet azd som används för att identifiera distributionsvärden. Värdet måste vara detsamma som det som definieras för tjänsten i filen azure.yaml .

Uppdatera filen azure.yaml

Om du vill distribuera appen azd behöver du veta mer om din app. Filen azure.yaml används för att definiera källkodens plats, språk och Azure-värdtjänsten för varje tjänst i din app. Fullständig information finns i schemat azure.yaml.

  1. azure.yaml Öppna roten i projektet.

  2. Lägg till följande rader längst ned i filen:

    name: msdocs-python-flask-webapp-quickstart
    services:
      web:
        project: .
        language: py
        host: appservice
    

Etablera och distribuera mallen

  1. Spara alla dina ändringar och kör följande kommando för att etablera och distribuera appresurserna i Azure:

    azd up
    
  2. När kommandot har slutförts klickar du på länken i kommandoutdata för att navigera till den distribuerade platsen.

Projektet är nu kompatibelt med Azure Developer CLI och kan användas som en mall.

Kommentar

azd har också stöd för att använda Buildpack för att containerisera dina appar som standard. Om mallen azd riktar sig mot Azure Container Apps eller Azure Kubernetes Service men inte innehåller en Docker-fil, azd genereras automatiskt en avbildning med hjälp av Buildpack.