Azure Developer CLI und Azure Deployment Environments
In diesem Artikel erfahren Sie mehr über die Azure Developer CLI (azd
) und wie sie mit Azure Deployment Environments (ADE) zusammenarbeitet, um den Prozess der Bereitstellung von Anwendungsinfrastruktur und das Bereitstellen von Anwendungscode in der neuen Infrastruktur zu vereinfachen.
azd
ist ein Open-Source-Befehlszeilentool, das entwicklerfreundliche Befehle bereitstellt, die wichtigen Phasen in Ihrem Workflow zugeordnet sind. Sie können azd
lokal auf Ihrem Computer installieren oder in anderen Umgebungen verwenden.
Mit ADE können Sie Umgebungen aus einer Umgebungsdefinition in einem Katalog erstellen, der ihrem Dev Center zugeordnet ist, oder sie verwenden das ADE-Erweiterbarkeitsmodell zum Ausführen von Bereitstellungen. Indem Sie azd
hinzufügen, können Sie den Prozess der Bereitstellung von Infrastruktur und das Bereitstellen von Code in der Cloud optimieren.
Wie funktioniert azd
mit ADE?
azd
arbeitet mit ADE zusammen, damit Sie Umgebungen erstellen können, in denen Sie arbeiten.
Mit ADE und azd
können einzelne Entwickler, die mit eindeutiger Infrastruktur und Code arbeiten, die sie in die Cloud hochladen möchten, eine Umgebung aus einem lokalen Ordner erstellen. Sie können azd
verwenden, um eine Umgebung und darin ihren Code nahtlos bereitzustellen.
Durch die gemeinsame Verwendung von ADE und azd
können Sie Entwicklern die Möglichkeit bieten, App-Infrastruktur und Code zu erstellen. Ihr Team kann mehrere ADE-Umgebungen aus derselben kompatiblen azd
-Umgebungsdefinition erstellen und Code auf konsistente Weise in der Cloud bereitstellen.
Grundlegendes zu azd
-Vorlagen
Die Azure Developer CLI-Befehle sind für die Arbeit mit standardisierten Vorlagen konzipiert. Jede Vorlage ist ein Coderepository, das bestimmte Datei- und Ordnerkonventionen erfüllt. Die Vorlagen enthalten die Ressourcen, die azd
benötigt, um eine Azure Deployment Environment-Umgebung bereitzustellen. Wenn Sie einen Befehl wie azd up
ausführen, verwendet das Tool die Vorlagenressourcen, um verschiedene Workflowschritte auszuführen, z. B. Bereitstellen der Ressourcen in Azure.
Das folgende Diagramm zeigt eine typische Vorlagenstruktur:
├── infra [ Contains infrastructure as code files ]
├── .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 ]
├── src [ Contains all of the deployable app source code ]
└── azure.yaml [ Describes the app and type of Azure resources]
Alle azd
-Vorlagen enthalten die folgenden Ressourcen:
Infrastrukturordner: Der Infrastrukturordner wird in
azd
mit ADE nicht verwendet. Es enthält alle Bicep- oder Terraform-Infrastruktur als Codedateien für dieazd
-Vorlage. ADE stellt die Infrastruktur als Codedateien für dieazd
-Vorlage bereit. Sie müssen diese Dateien nicht in Ihreazd
-Vorlage einschließen.Azure.yaml-Datei: Eine Konfigurationsdatei, die einen oder mehrere Dienste in Ihrem Projekt definiert und sie Azure-Ressourcen für die Bereitstellung zuordnet. So können Sie beispielsweise einen API-Dienst und einen Front-End-Webdienst jeweils mit Attributen definieren, mit denen die beiden Dienste verschiedenen Azure-Ressourcen für die Bereitstellung zugeordnet werden.
.azure-Ordner: Enthält wichtige Azure-Konfigurationen und Umgebungsvariablen, z. B. den Speicherort zum Bereitstellen von Ressourcen oder anderen Abonnementinformationen.
src-Ordner: Enthält den gesamten bereitgestellten App-Quellcode. Einige
azd
-Vorlagen stellen nur Infrastrukturressourcen bereit und lassen das src-Verzeichnis leer, damit Sie Ihren eigenen Anwendungscode hinzufügen können.
Die meisten azd
-Vorlagen enthalten optional auch einen oder mehrere der folgenden Ordner:
.devcontainer-Ordner: Ermöglicht Ihnen das Einrichten einer Dev Container-Umgebung für Ihre Anwendung. Dies ist ein gängiger Ansatz für eine Entwicklungsumgebung, der nicht für
azd
spezifisch ist..github-Ordner: Enthält die CI/CD-Workflowdateien für GitHub Actions, den standardmäßigen CI/CD-Anbieter für
azd
..azdo-Ordner: Wenn Sie Azure Pipelines für CI/CD verwenden möchten, definieren Sie die Workflowkonfigurationsdateien in diesem Ordner.
azd
-kompatible Kataloge
Azure Deployment Environments-Kataloge bestehen aus Umgebungsdefinitionen: IaC-Vorlagen, die die Infrastrukturressourcen definieren, die für eine Bereitstellungsumgebung bereitgestellt werden. Azure Developer CLI verwendet Umgebungsdefinitionen im Katalog, der im Dev Center angefügt ist, um neue Umgebungen bereitzustellen.
Azure Developer CLI funktioniert mit ARM-Vorlagen, die im Dev Center-Katalog von Azure Deployment Environments gespeichert sind. Sie unterstützt auch andere IaC-Vorlagen über das ADE-Erweiterbarkeitsmodell, z. B. Bicep und Terraform. Informationen zum Konfigurieren des ADE-Erweiterbarkeitsmodells finden Sie unter Azure Deployment Environments-Erweiterbarkeitsmodell.
Um bestimmte Azure Compute-Dienste ordnungsgemäß zu unterstützen, erfordert die Azure Developer CLI weitere Konfigurationseinstellungen in der IaC-Vorlage. So müssen Sie beispielsweise App-Diensthosts mit bestimmten Informationen kennzeichnen, damit azd
weiß, wie die Hosts zu finden sind und die App auf ihnen bereitgestellt werden kann.
Hier finden Sie eine Liste der unterstützten Azure-Dienste: Unterstützte Azure Compute-Dienste (Host).
Machen Sie Ihren ADE-Katalog kompatibel mit azd
Damit Ihre Entwicklungsteams azd
mit ADE verwenden können, müssen Sie eine Umgebungsdefinition in Ihrem Katalog erstellen, die mit azd
kompatibel ist. Sie können eine neue azd
-kompatible Umgebungsdefinition erstellen oder eine vorhandene Umgebungsdefinition aus dem Dev Center-Katalog der Azure Deployment Environments verwenden. Wenn Sie sich für die Verwendung einer vorhandenen Umgebungsdefinition entscheiden, müssen Sie einige Änderungen vornehmen, um sie mit azd
kompatibel zu machen.
Die Änderungen umfassen Folgendes:
- Wenn Sie eine vorhandene
azd
-Vorlage ändern, entfernen Sie den Ordnerinfra
. ADE verwendet die folgenden Dateien zum Erstellen der Infrastruktur:- ARM-Vorlage (azuredeploy.json.)
- Konfigurationsdatei, die Parameter definiert (environment.yaml oder manifest.yaml)
- Taggen Sie Ressourcen in azure.yaml mit spezifischen Informationen, damit
azd
weiß, wie die Hosts zu finden sind und die App auf ihnen bereitgestellt werden kann.- Erfahren Sie mehr über das Taggen von Ressourcen für Azure Deployment Environments.
- Erfahren Sie mehr über das Schema von azure.yaml in Azure Developer CLI.
Weitere Informationen dazu, wie Sie Ihre ADE-Umgebungsdefinition mit azd
kompatibel machen, finden Sie unter Machen Sie Ihr Projekt kompatibel mit Azure Developer CLI.
Aktivieren der azd
-Unterstützung in ADE
Um azd
-Unterstützung mit ADE zu aktivieren, müssen Sie die platform.type
auf devcenter festlegen. Mit dieser Konfiguration kann azd
neue Dev Center-Komponenten für den Remoteumgebungsstatus und die Bereitstellung verwenden. Das bedeutet, dass der Infrastrukturordner in Ihren Vorlagen effektiv ignoriert wird. azd
verwendet hingegen eine der Infrastrukturvorlagen, die im Dev Center-Katalog für die Ressourcenbereitstellung definiert sind.
Führen Sie die folgenden Befehle aus, um die azd
-Unterstützung zu aktivieren:
azd config set platform.type devcenter
Erkunden der azd
-Befehle
Wenn das Dev Center-Feature aktiviert ist, ändert sich das Standardverhalten einiger gängiger azd
-Befehle, um mit diesen Remoteumgebungen zu arbeiten. Weitere Informationen finden Sie unter Arbeiten mit Azure Deployment Environments.