Utforska och anpassa en CLI-mall för Azure Developer

I den här snabbstarten utforskar och anpassar du en Azure Developer CLI-mall. Hello-azd-mallen är en enkel startpunkt för att skapa och distribuera program till Azure med hjälp av Azure Developer CLI (azd). Den här snabbstarten bygger vidare på de tidigare visade begreppen i artikeln Snabbstart – Genomföra en azd-mall.

Förutsättningar

För att slutföra den här snabbstarten i webbläsaren behöver du:

  • Åtkomst till GitHub Codespaces

Du kan också slutföra den här snabbstarten med hjälp av lokala verktyg:

Utforska CLI-mallstrukturen för Azure Developer

azd mallar är standardkoddatabaser med ytterligare tillgångar inkluderade. Alla azd mallar delar en liknande filstruktur baserat på azd konventioner:

  • infra mapp – Innehåller all Bicep- eller Terraform-infrastruktur som kodfiler för azd-mallen. azd kör dessa filer för att skapa de Azure-resurser som krävs av din app.
  • src folder – Innehåller appens källkod. azd paket och distribuerar koden baserat på konfigurationer i azure.yaml.
  • azure.yaml file – En konfigurationsfil som mappar källkodsmappar i projektet till Azure-resurser som definierats i infra mappen för distribution. Du kan till exempel definiera en API-tjänst och en webbklientdelstjänst i separata mappar och mappa dem till olika Azure-resurser för distribution.
  • .azure mapp – Innehåller viktiga Azure-konfigurationer, till exempel platsen för att distribuera resurser.

De flesta azd mallar matchar till exempel följande mappstruktur:

En skärmbild som visar en CLI-mallstruktur för Azure Developer.

Mer information om mallstrukturen finns i azd.

Konfigurera exempelmallen

hello-azd är en exempelmall som är utformad för att visa viktiga funktioner azd i som du kan distribuera till Azure med ett enda kommando. Mallen innehåller ett användarvänligt användargränssnitt med information om azd och ett litet demoverktyg som gör att du kan ladda upp och visa supportärenden.

Mallen stöder följande funktioner:

  • Paketerar och distribuerar en containerbaserad app till Azure Container Apps
  • Skapar de Azure-resurser som behövs av appen, till exempel en Azure Cosmos DB-databas
  • Kan automatiskt konfigurera en CI/CD-pipeline med kommandot azd pipeline config

Följ dessa steg för att konfigurera mallen:

  1. Öppna malllagringsplatsen hello-azd på GitHub.

  2. Välj knappen Kod och välj sedan Kodområden.

  3. Skapa ett nytt Codespace för att starta en fullständigt konfigurerad utvecklingsmiljö i webbläsaren. Du kan behöva vänta en stund innan miljön initieras.

  4. När miljön Codespaces har laddats in ska du initiera azd-mallen med kommandot azd init.

    azd init -t hello-azd
    
  5. När du uppmanas till det anger du ett namn för azd miljön, till exempel helloazd.

Utforska mallen

När mallen är öppen i valfritt verktyg kan du bläddra i mappstrukturen för att utforska hur azd mallar fungerar:

  1. src Expandera mappen för att visa källkoden för appen.

    • Mallen hello-azd innehåller en containerbaserad .NET-app som tillhandahåller ett enkelt användargränssnitt för att lära sig om azd och hantera exempelbiljettdata. azd stöder även andra språk som JavaScript och Python.
    • När du kör azd uppaketeras appen som en containeravbildning och distribueras till Azure Container Apps.
  2. infra Expandera mappen för att utforska infrastrukturen som kodfiler.

    • Den här mallen använder Bicep-filer (.bicep) för att skapa Azure-resurser, men du kan också använda Terraform (.tf).

    • Filen main.bicep skapar Azure-resurser genom att referera till andra Bicep-moduler i infra mappen, till exempel ett Azure Storage-konto:

      // Omitted...
      
      // Create a storage account
      module storage './core/storage/storage-account.bicep' = {
          name: 'storage'
          scope: rg
          params: {
          name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
          location: location
          tags: tags
          containers: [
              {
              name: 'attachments'
              }
          ]
          }
      }
      
      // Omitted...
      
  3. Öppna azure.yaml-filen i mallens rot för att visa viktiga mallkonfigurationer.

    • Mallen definierar en tjänst med namnet aca.

    • Tjänstkonfigurationen aca instruerar azd att paketera och distribuera källkoden i mappen src till den Azure Container App som har etablerats av de Bicep-moduler du utforskade tidigare.

    • Konfigurationerna docker instruerar azd att paketera och distribuera appen som en container.

      metadata:
        template: hello-azd-dotnet  # Specifies the template being used
      name: azd-starter  # Name of the project
      services:
        aca:  # Define the Azure Container App service
          project: ./src  # Path to the source code
          language: csharp  # Programming language
          host: containerapp  # Hosting service
          docker:
            path: ./Dockerfile  # Location of the Dockerfile
      

Uppdatera mallen

Du kan göra ändringar i mallen för att påverka den distribuerade appen och resurserna. I det här exemplet gör du två små ändringar i appen och utforskar de distribuerade resultaten:

  • Uppdatera välkomsttexten för apprubriken till ditt eget meddelande
  • Uppdatera det skapade lagringskontot så att det skapar två blobcontainrar i stället för en

Utför följande steg för att göra dessa ändringar:

  1. Öppna komponenten src > Components > Pages i Home.razor mappen.

  2. Ersätt huvudtexten Hello, Azure Developer CLI! överst på sidan med ett annat meddelande, till exempel Hello, anpassad mall! och spara ändringarna.

    <MudText Typo="Typo.h2" GutterBottom="true">Hello, customized template!</MudText>
    
  3. infra Öppna filen i main.bicep mappen.

  4. Leta upp blocket med Bicep-kod runt rad 75 som skapar ett lagringskonto och en blobcontainer:

    // Create a storage account
    module storage './core/storage/storage-account.bicep' = {
      name: 'storage'
      scope: rg
      params: {
        name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
        location: location
        tags: tags
        containers: [
          {
            name: 'attachments'
          }
        ]
      }
    }
    

    Ersätt koden med följande kodfragment:

    // Create a storage account
    module storage './core/storage/storage-account.bicep' = {
      name: 'storage'
      scope: rg
      params: {
        name: !empty(storageAccountName) ? storageAccountName : '${abbrs.storageStorageAccounts}${resourceToken}'
        location: location
        tags: tags
        containers: [
          {
            name: 'attachments'
          },
          {
            name: 'archive'
          }
        ]
      }
    }
    
    

Kör mallen

När du har gjort ändringarna använder du azd up kommandot för att etablera och distribuera appresurserna:

  1. Öppna en terminal i projektkatalogen.

  2. Om du vill etablera och distribuera mallen kör du azd up kommandot:

    azd up
    

    Det här kommandot kommer att:

    • Paketera appen för distribution
    • Etablera nödvändiga Azure-resurser
    • Distribuera ditt program med de uppdaterade ändringarna
    • Skriv ut URL:en för det distribuerade programmet
  3. Om du vill se ditt uppdaterade program live öppnar du URL:en som skrivs ut i azd konsolens utdataloggar i webbläsaren.

    En skärmbild som visar den uppdaterade apprubriken.

  4. Om du vill visa de två blobcontainrar som skapades går du till det skapade lagringskontot i Azure-portalen.

    En skärmbild som visar de skapade blobcontainrarna.

Slutsats

I den här snabbstarten utforskade du mallens hello-azd struktur, anpassade dess program och infrastruktur och distribuerade den till Azure med hjälp av Azure Developer CLI. För mer avancerade scenarier kan du utforska andra mallar eller fördjupa dig i dokumentationen azd .

Nästa steg