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
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
Öffnen Sie ein Terminal im Stammverzeichnis des Projekts.
Führen Sie den
azd init
Befehl aus, um die Vorlage zu initialisieren.azd init
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.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.
- Eine
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 durchazd
identifiziert wurden.Führen Sie den
azd up
Befehl aus, um Ihre App in Azure bereitzustellen und bereitzustellen.azd up
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.
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:
Erstellen Sie einen DEVCONTAINER-Ordner im Stammverzeichnis Ihres Projekts.
Erstellen Sie eine
devcontainer.json
Datei innerhalb des.devcontainer
Ordners mit den gewünschten Konfigurationen. Dieazd
Startvorlage enthält eine Beispieldateidevcontainer.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:
Fügen Sie einen
.github
Ordner für GitHub-Aktionen oder einen.ado
Ordner für Azure DevOps zum Stammverzeichnis Ihres Projekts hinzu.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.Möglicherweise müssen Sie die
main.parameters.json
Datei auch in Ihreminfra
Ordner mit den erforderlichen Umgebungsvariablen aktualisieren, damit Der Workflow ausgeführt werden kann.