Teilen über


Hinzufügen von Azure Developer CLI-Unterstützung zu Ihrer App mithilfe von Code in Ihrem App-Verzeichnis

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 Code "Verwenden" im aktuellen Verzeichnisansatz 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.

Verwenden von Code im aktuellen Verzeichnis

  1. Sie können die schritte weiter mit Ihrem eigenen Projekt ausführen. Wenn Sie jedoch lieber eine Beispielanwendung verwenden möchten, klonen Sie das folgende Startrepo in ein leeres Verzeichnis auf Ihrem Computer:

    git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
    
  2. Öffnen Sie ein Terminal im Stammverzeichnis des Projekts.

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

    azd init
    
  4. Wenn Sie dazu aufgefordert werden, wählen Sie die Option zum Verwenden von Code im aktuellen Verzeichnis aus. azd analysiert das Projekt und stellt eine Zusammenfassung der erkannten Dienste und empfohlenen Azure-Hostingressourcen bereit.

  5. Wählen Sie Bestätigen und die Initialisierung meiner App fortsetzen. azd generiert die folgenden Ressourcen im Projektstammverzeichnis:

    • Eine azure.yaml Datei mit entsprechenden Dienstdefinitionen.
    • Ein infra Ordner mit Infrastruktur-as-Code-Dateien zum Bereitstellen und Bereitstellen des Projekts in Azure.
    • Ein .azure Ordner mit Umgebungsvariablen, die in einer .env Datei festgelegt sind.

    Weitere Details zu diesem Erkennungs- und Generierungsprozess finden Sie weiter unten im Artikel.

  6. Die generierten Dateien funktionieren wie für die bereitgestellte Beispiel-App und können auch für Ihre eigenen Apps verwendet werden. Bei Bedarf können die generierten Dateien entsprechend Ihren Anforderungen geändert werden. Beispielsweise müssen Sie die Infrastruktur-as-Code-Dateien im infra Ordner möglicherweise weiter ändern, wenn Ihre App auf Azure-Ressourcen basiert, die über diejenigen hinausgehen, die durch azdidentifiziert wurden.

  7. Führen Sie den azd up Befehl aus, um Ihre App in Azure bereitzustellen und bereitzustellen.

    azd up
    
  8. Wenn Sie dazu aufgefordert werden, wählen Sie das gewünschte Abonnement und den gewünschten Speicherort aus, um den Bereitstellungs- und Bereitstellungsprozess zu starten.

  9. Wenn der Vorgang abgeschlossen ist, klicken Sie auf den Link in der azd Ausgabe, um die App im Browser zu öffnen.

Erkunden der Initialisierungsschritte

Wenn Sie den Code im aktuellen Verzeichnisworkflow verwenden auswählen, analysiert der azd init Befehl Ihr Projekt und generiert code automatisch basierend auf dem, was es ermittelt. In den folgenden Abschnitten werden die Details dazu erläutert, wie dieser Prozess funktioniert und welche Technologien derzeit unterstützt werden.

Erkennung

Der azd init Befehl erkennt Projektdateien für unterstützte Sprachen, die sich in Ihrem Projektverzeichnis und unterverzeichnissen befinden. azd überprüft außerdem Paketabhängigkeiten, um Informationen zu den von Ihrer App verwendeten Webframeworks oder Datenbanken zu sammeln. Bei Bedarf können Sie die erkannten Komponenten wie in der Bestätigungszusammenfassungsaufforderung dargestellt manuell hinzufügen oder bearbeiten.

Die aktuelle Erkennungslogik lautet wie folgt:

  • Unterstützte Sprachen:
    • Python
    • JavaScript/TypeScript
    • .NET
    • Java
  • Unterstützte Datenbanken:
    • MongoDB
    • PostgreSQL
  • Für Python und JavaScript/TypeScript werden Webframeworks und Datenbanken automatisch erkannt.
  • Wenn ein JavaScript/TypeScript-Projekt ein Front-End-Webframework (oder clientseitiges) Webframework verwendet, wird es als Front-End-Dienst klassifiziert. Wenn Ihr Dienst ein Front-End-Webframework verwendet, das derzeit nicht erkannt wird, können Sie JQuery auswählen, um gleichwertige Front-End-Dienstklassifizierung und -verhalten bereitzustellen.

Generation

Nachdem Sie die erkannten Komponenten bestätigt haben, werden die Infrastruktur-as-Code-Dateien generiert, azd init die für die Bereitstellung Ihrer Anwendung in Azure erforderlich sind.

Die Generierungslogik lautet wie folgt:

  • Unterstützte Hosts:
    • Azure Container Apps.
  • Für Datenbanken wird die unterstützte Zuordnung zwischen Datenbanktechnologie und Dienst verwendet:
    • MongoDB: Azure CosmosDB-API für MongoDB
    • PostgreSQL: Azure Database for PostgreSQL flexible Server
    • Redis: Azure Container Apps Redis-Add-On
  • Dienste, die Datenbanken verwenden, verfügen über Umgebungsvariablen, die standardmäßig eine Verbindung mit der datenbank bereitstellen, die vorkonfiguriert ist.
  • Wenn sowohl Front-End- als auch Back-End-Dienste erkannt werden, wird die CORS-Konfiguration auf dem Azure-Host für Back-End-Dienste aktualisiert, um die Standardhostingdomäne von Front-End-Diensten zu ermöglichen. Dies kann bei Bedarf in der Infrastruktur als Codekonfigurationsdateien geändert oder entfernt werden.

Hinzufügen von Unterstützung für Entwicklercontainer

Sie können Ihre Vorlage auch mit Entwicklungscontainern und Codespaces kompatibel machen. Mit einem Entwicklercontainer können Sie einen Container als umfassende Entwicklungsumgebung verwenden. Es kann verwendet werden, um eine Anwendung auszuführen, tools, Bibliotheken oder Laufzeiten zu trennen, die für die Arbeit mit einer Codebasis erforderlich sind, und um die kontinuierliche Integration und Tests zu unterstützen. Dev-Container können lokal oder remote in einer privaten oder öffentlichen Cloud ausgeführt werden. (Quelle: https://containers.dev/)

So fügen Sie Unterstützung für Entwicklercontainer hinzu:

  1. Erstellen Sie einen DEVCONTAINER-Ordner im Stammverzeichnis Ihres Projekts.

  2. Erstellen Sie eine devcontainer.json Datei innerhalb des .devcontainer Ordners mit den gewünschten Konfigurationen. Die azd Startvorlage enthält eine Beispieldatei devcontainer.json , die Sie nach Bedarf in Ihr Projekt kopieren und ändern können.

Weitere Informationen zum Arbeiten mit Entwicklercontainern finden Sie in der Visual Studio Code-Dokumentation.

Hinzufügen von Unterstützung für eine CI/CD-Pipeline

Sie können ihrer Vorlage auch Unterstützung für CI/CD hinzufügen, indem Sie GitHub-Aktionen oder Azure DevOps verwenden, indem Sie die folgenden Schritte ausführen:

  1. Fügen Sie einen .github Ordner für GitHub-Aktionen oder einen .ado Ordner für Azure DevOps zum Stammverzeichnis Ihres Projekts hinzu.

  2. Fügen Sie dem neuen Ordner eine Workflowdatei hinzu. Die azd Startvorlage enthält eine Workflowdatei für GitHub-Aktionen und Beispieldateien für Azure DevOps Pipelines für jede Plattform, die Sie nach Bedarf in Ihr Projekt kopieren und ändern können.

  3. Möglicherweise müssen Sie die main.parameters.json Datei auch in Ihrem infra Ordner mit den erforderlichen Umgebungsvariablen aktualisieren, damit Der Workflow ausgeführt werden kann.