Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
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-quickstartGå till rotkatalogen för det klonade projektet i valfritt kommandoradsverktyg.
azd initKör kommandot för att initiera enazdmall.azd initVälj alternativet Välj en mall när du uppmanas att göra det.
I listan med mallar väljer du Starter – Bicep. Du kan skriva mallnamnet eller använda tangentbordspiltangenterna för att hitta det.
När du uppmanas till det anger du ett kort miljönamn, till exempel testenv.
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
Öppna rotprojektkatalogen i valfri redigerare, till exempel Visual Studio Code.
main.bicepÖppna filen iinframappen 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äserAdd 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 avazd. azdanvä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ärdetazdsom 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 .
- En unik sträng genereras baserat på prenumerations-ID och används som en
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.
azure.yamlÖppna roten i projektet.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
Spara alla dina ändringar och kör följande kommando för att etablera och distribuera appresurserna i Azure:
azd upNä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.