Hinzufügen von Azure Developer CLI-Unterstützung zu Ihrer App mithilfe einer vorhandenen Vorlage

Die Azure Developer CLI (azd) stellt zwei unterschiedliche Workflows bereit, um eine Vorlage für die Verwendung mit Ihrer App zu initialisieren, darunter:

  • Verwenden Sie Code im aktuellen Verzeichnis: Dieser Ansatz analysiert Ihre App und generiert automatisch unterstützte Infrastruktur- und Konfigurationsressourcen.
  • Wählen Sie eine Vorlage aus: Mit diesem Ansatz können Sie eine vorhandene Vorlage in Ihre App integrieren oder eine vorhandene Vorlage als Ausgangspunkt für eine neue App verwenden.

Beide Ansätze werden im Übersichtsdokument "Create Azure Developer CLI templates" untersucht.

In diesem Artikel erfahren Sie, wie Sie Ihrer App Unterstützung für die Azure Developer CLI (azd) über den Ansatz "Vorlage auswählen" hinzufügen. Besuchen Sie die App-Unterstützung hinzufügen azd , indem Sie ein vorhandenes Vorlagendokument verwenden, um weitere Informationen zum alternativen Ansatz zu finden. Sie können auch die Schulung besuchen – Erstellen und Bereitstellen von azd Vorlagen für weitere Informationen zum Erstellen von azd Vorlagen.

Wählen Sie eine Vorlage für Ihre App aus.

Mit dem azd init Befehl "Vorlagenworkflow auswählen" können Sie eine vorhandene azd Vorlage auswählen, die als Ausgangspunkt verwendet werden soll. Der Inhalt der ausgewählten Vorlage wird dem Stammverzeichnis Ihres Projekts hinzugefügt. Die meisten Vorlagen stellen den erforderlichen Satz von azd Dateien und Ordnern bereit, und viele enthalten eine vollständige Set-Infrastruktur-as-Code-Dateien, um Azure-Ressourcen für einen ausgewählten Anwendungsstapel bereitzustellen.

In diesem Beispiel verwenden Sie die Vorlage "Starter - Bicep ", die die grundlegende Struktur einer azd Vorlage und einige nützliche Codebausteine enthält, um zu beginnen. Startvorlagen sind eine großartige Wahl, wenn Sie die richtige Vorlagenstruktur und die richtigen Startressourcen gerüsten möchten, aber dennoch Eigene Infrastrukturdateien erstellen möchten.

  1. Um zusammen mit den schritten vor der Verwendung einer vorhandenen Beispielanwendung zu folgen, klonen Sie das folgende Startprojekt in ein leeres Verzeichnis auf Ihrem Computer:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Navigieren Sie in Ihrem Befehlszeilentool zu dem Stammverzeichnis des geklonten Projekts.

  3. Führen Sie den azd init Befehl aus, um eine azd Vorlage zu initialisieren.

    azd init
    
  4. Wenn Sie dazu aufgefordert werden, wählen Sie die Option zum Auswählen einer Vorlage aus.

    Ein Screenshot mit den Optionen für die Auswahl einer Vorlage.

  5. Wählen Sie in der Liste der Vorlagen "Starter - Bicep" aus. Sie können den Vorlagennamen eingeben oder die Tastaturpfeiltasten verwenden, um sie zu finden.

  6. Wenn Sie dazu aufgefordert werden, geben Sie einen kurzen Umgebungsnamen ein, z . B. "testenv".

  7. Nachdem Sie ausgeführt azd inithaben, werden die folgenden Ressourcen zu Ihrem aktuellen Verzeichnis hinzugefügt:

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

Aktualisieren der Bicep-Dateien

Ihr Projekt enthält jetzt die Kernstruktur und Ressourcen einer azd Vorlage. Um jedoch die Azure-Ressourcen für Ihr spezifisches Projekt bereitzustellen, müssen die Bicep-Dateien im infra Ordner aktualisiert werden. Um die Beispielanwendung zu hosten, müssen Sie die folgenden Ressourcen mithilfe von Bicep-Dateien definieren:

  • Ein Azure-App Serviceplan
  • Ein auf Linux ausgeführter Azure-App-Dienst
  1. Öffnen Sie das Stammprojektverzeichnis in Ihrem Editor, z. B. Visual Studio Code.

  2. Öffnen Sie die main.bicep Datei im infra Ordner mit Ihrem Editor. Diese Datei enthält nützliche Codebausteine zum Einrichten wesentlicher Variablen, Parameter und Benennungskonventionen. Fügen Sie unterhalb des Kommentarblocks um Zeile 50, die gelesen wird Add resources to be provisioned below, die folgende Bicep hinzu:

    // 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'
        }
      }
    }
    

    Hinweis

    • Eine eindeutige Zeichenfolge wird basierend auf der Abonnement-ID generiert und als ${resourceToken} Variable verwendet. Dieses Token wird an den Namen aller azure-Ressourcen angefügt, die von azd.
    • azd verwendet Tags zum Identifizieren von Ressourcen, damit Sie die Namen basierend auf der Benennungskonvention Ihrer Organisation ändern können.
    • Das 'azd-service-name': 'web' Tag im App-Dienst ist der Wert azd , der zum Identifizieren des Bereitstellungshosts verwendet wird. Der Wert muss mit dem übereinstimmen, was für den Dienst in der Datei "azure.yaml " definiert ist.

Aktualisieren der Datei „azure.yaml“

Um die App bereitzustellen, azd müssen Sie mehr über Ihre App wissen. Die azure.yaml Datei wird verwendet, um den Quellcodespeicherort, die Sprache und den Azure-Hostingdienst für jeden Dienst in Ihrer App zu definieren. Ausführliche Informationen finden Sie im Azure.yaml-Schema.

  1. Öffnen Sie den azure.yaml Stamm des Projekts.

  2. Fügen Sie die folgenden Zeilen am Ende der Datei hinzu:

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

Bereitstellen der Vorlage

  1. Speichern Sie alle Ihre Änderungen, und führen Sie den folgenden Befehl aus, um die App-Ressourcen in Azure bereitzustellen und bereitzustellen:

    azd up
    
  2. Wenn der Befehl abgeschlossen ist, klicken Sie auf den Link in der Befehlsausgabe, um zur bereitgestellten Website zu navigieren.

Ihr Projekt ist jetzt mit der Azure Developer CLI kompatibel und kann als Vorlage verwendet werden.

Hinweis

azd unterstützt auch die Verwendung von Buildpack zum Standardmäßigen Containern Ihrer Apps. Wenn Ihre azd Vorlage auf Azure Container Apps oder Azure Kubernetes Service ausgerichtet ist, aber keine Docker-Datei enthält, azd generiert automatisch ein Image mit Buildpack.