Hinzufügen Azure Entwickler-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, die Folgendes umfasst:

  • 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 die Azure Developer CLI (azd) über den Ansatz Code im aktuellen Verzeichnis verwenden in Ihre App integrieren. Besuchen Sie die Dokumentation Unterstützung für Ihre App mithilfe einer vorhandenen Vorlage hinzufügenazd, um weitere Informationen zum alternativen Ansatz zu erhalten. Sie können auch die Schulung besuchen – Erstellen und Bereitstellen von azd Vorlagen für weitere Informationen zum Erstellen von azd Vorlagen.

Code im aktuellen Verzeichnis verwenden

  1. Sie können die folgenden Schritte mit Ihrem eigenen Projekt durchfü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. azdanalysiert das Projekt und stellt eine Zusammenfassung der erkannten Dienste und empfohlenen Azure Hostingressourcen bereit.

  5. Wählen Sie "Bestätigen" aus, und initialisieren Sie die App weiter. azd generiert die folgenden Ressourcen im Projektstammverzeichnis:

    • Eine azure.yaml Datei mit entsprechenden Dienstdefinitionen.
    • Ein infra Ordner mit Infrastructure-as-Code-Dateien zum Provisionieren 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 as-is 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 Befehl azd up aus, um Ihre App einzurichten und in Azure bereitzustellen.

    azd up
    
  8. Wenn Sie dazu aufgefordert werden, wählen Sie das gewünschte Abonnement und den gewünschten Standort aus, um den Provisionierungs- 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.

Detection

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, generiert azd init die Infrastructure-as-Code-Dateien, die erforderlich sind, um Ihre Anwendung in Azure bereitzustellen.

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-Datenbank für PostgreSQL – Flexibler Server
    • Redis: Redis-Add-On für Azure Container Apps
  • 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 Dev-Containern finden Sie in der dokumentation Visual Studio Code.

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 mithilfe der 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 ein Beispiel GitHub Actions Workflowdatei und beispiel Azure DevOps Pipelines-Datei für jede Plattform. Sie können diese Dateien nach Bedarf in Ihr Projekt kopieren und ändern.

  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.