Schnellstart: Erstellen und Bereitstellen in Azure Container Apps aus einem Repository
In diesem Artikel wird veranschaulicht, wie Sie mithilfe der Programmiersprache Ihrer Wahl einen Microservice in Azure Container Apps aus einem GitHub-Repository erstellen und bereitstellen. In dieser Schnellstartanleitung erstellen Sie einen Beispielmicroservice, der einen Back-End-Web-API-Dienst darstellt. Dieser Dienst gibt eine statische Sammlung von Musikalben zurück.
Diese Beispielanwendung ist in zwei Versionen verfügbar. Eine Version enthält einen Container, in dem die Quelle eine Dockerfile-Datei enthält. Die andere Version enthält keine Dockerfile-Datei. Wählen Sie die Version aus, die am besten für Ihren Quellcode geeignet ist. Wenn Sie noch nicht mit Containern arbeiten, wählen Sie oben die Option Kein Dockerfile aus.
Hinweis
Sie können diese Beispielanwendung ebenfalls über Ihr lokales Dateisystem erstellen und bereitstellen. Weitere Informationen finden Sie unter Erstellen aus lokalem Quellcode und Bereitstellen Ihrer Anwendung in Azure Container Apps.
Der folgende Screenshot zeigt die Ausgabe des Album-API-Dienstes, den Sie bereitstellen.
Voraussetzungen
Zum Abschließen dieses Projekts benötigen Sie die folgenden Elemente:
Anforderung | Anweisungen |
---|---|
Azure-Konto | Erstellen Sie ein kostenloses Konto, falls Sie keines besitzen. Sie benötigen die Berechtigung Mitwirkender oder Besitzer für das Azure-Abonnement, um den Vorgang fortzusetzen. Weitere Einzelheiten finden Sie unter Zuweisen von Azure-Rollen über das Azure-Portal. |
GitHub-Konto | Kostenlos erhalten. |
Git | git installieren |
Azure CLI | Installieren Sie die Azure CLI. |
Einrichten
Um sich ausgehend von der CLI bei Azure anzumelden, führen Sie den folgenden Befehl aus und befolgen Sie die Anweisungen, um den Authentifizierungsprozess abzuschließen.
az login
Verwenden Sie den Upgradebefehl, um sicherzustellen, dass Sie die neueste Version der CLI ausführen.
az upgrade
Installieren oder aktualisieren Sie als Nächstes die Azure Container Apps-Erweiterung für die CLI.
Falls Sie Fehler aufgrund fehlender Parameter erhalten, wenn Sie az containerapp
-Befehle in der Azure CLI oder Cmdlets aus dem Az.App
-Modul in Azure PowerShell ausführen, stellen Sie sicher, dass die aktuelle Version der Azure Container Apps-Erweiterung installiert ist.
az extension add --name containerapp --upgrade
Hinweis
Ab Mai 2024 aktivieren Azure CLI-Erweiterungen standardmäßig keine Previewfunktionen mehr. Um auf Previewfunktionen von Container Apps zuzugreifen, installieren Sie die Container Apps-Erweiterung mit --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Nachdem die aktuelle Erweiterung oder das aktuelle Modul installiert ist, registrieren Sie nun die Namespaces Microsoft.App
und Microsoft.OperationalInsights
.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Erstellen von Umgebungsvariablen
Nachdem die Einrichtung Ihrer Azure CLI abgeschlossen ist, können Sie die Umgebungsvariablen definieren, die in diesem Artikel verwendet werden.
Definieren Sie die folgenden Variablen in Ihrer Bash-Shell.
export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
export GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"
Bevor Sie diesen Befehl ausführen, müssen Sie <YOUR_GITHUB_USERNAME>
durch Ihren GitHub-Benutzernamen ersetzen.
Definieren Sie als Nächstes einen für Sie eindeutigen Containerregistrierungsnamen.
export ACR_NAME="acaalbums"$GITHUB_USERNAME
Vorbereiten des GitHub-Repositorys
Wechseln Sie in einem Browserfenster zum GitHub-Repository für Ihre bevorzugte Sprache, und forken Sie das Repository.
Wählen Sie oben im Album API-Repository die Schaltfläche Forken aus, um das Repository in Ihr Konto zu forken. Kopieren Sie anschließend die Repository-URL, um diese im nächsten Schritt zu verwenden.
Wechseln Sie in einem Browserfenster zum GitHub-Repository für Ihre bevorzugte Sprache, und forken Sie das Repository einschließlich der Branches.
Wählen Sie oben im Album API-Repository die Schaltfläche Forken aus, um das Repository in Ihr Konto zu forken. Deaktivieren Sie die Option „Copy the main
branch only“, um den buildpack
-Branch ebenfalls zu forken.
Erstellen und Bereitstellen der Container-App
Verwenden Sie den Befehl containerapp up
, um Ihre erste Container-App aus Ihrem geforkten GitHub-Repository zu erstellen und bereitzustellen. Dieser Befehl bewirkt Folgendes:
- Ressourcengruppe erstellen
- Erstellen der Container Apps-Umgebung mit einem Log Analytics-Arbeitsbereich
- Erstellen einer Azure Container Registry-Instanz
- Erstellen eines GitHub-Aktion-Workflows zum Erstellen und Bereitstellen der Container-App
- Erstellen der Ressourcengruppe
- Erstellen der Container Apps-Umgebung mit einem Log Analytics-Arbeitsbereich
- Automatisches Erstellen einer Standardregistrierung als Teil Ihrer Umgebung
- Erstellen eines GitHub-Aktion-Workflows zum Erstellen und Bereitstellen der Container-App
Wenn Sie neuen Code an das Repository pushen, führt die GitHub-Aktion Folgendes aus:
- Erstellen des Containerimage und Pushen des Containerimages an Azure Container Registry
- Bereitstellen des Containerimages in der erstellten Container-App
Der up
-Befehl verwendet die Dockerfile-Datei im Stammverzeichnis des Repositorys, um das Containerimage zu erstellen. Die EXPOSE
-Anweisung in der Dockerfile-Datei definiert den Zielport. Zum Erstellen einer Container-App ist keine Docker-Datei erforderlich.
- Automatisches Erkennen der Sprache und Runtime
- Erstellen des Images mit dem entsprechenden Buildpack
- Übertragen des Images in die Standardregistrierung von Azure Container Apps mithilfe von Push
Die Container-App muss für den eingehenden Datenverkehr zugänglich sein. Stellen Sie sicher, dass Port 8080 verfügbar gemacht wird, um auf eingehende Anforderungen zu lauschen.
Ersetzen Sie <YOUR_GITHUB_REPOSITORY_NAME>
im folgenden Befehl durch den Namen Ihres GitHub-Repositorys im Format https://github.com/<OWNER>/<REPOSITORY-NAME>
oder <OWNER>/<REPOSITORY-NAME>
.
Ersetzen Sie <YOUR_GITHUB_REPOSITORY_NAME>
im folgenden Befehl durch den Namen Ihres GitHub-Repositorys im Format https://github.com/<OWNER>/<REPOSITORY-NAME>
oder <OWNER>/<REPOSITORY-NAME>
. Verwenden Sie die Option --branch buildpack
, um ohne Dockerfile-Datei auf die Beispielquelle zu verweisen.
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--context-path ./src \
--repo <YOUR_GITHUB_REPOSITORY_NAME>
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--context-path ./src \
--ingress external \
--target-port 8080 \
--repo <YOUR_GITHUB_REPOSITORY_NAME>
--branch buildpack
--
Verwenden Sie die Angaben für URL und Benutzercode, die im Terminal angezeigt werden, um in einem Browser zur Seite für die GitHub-Geräteaktivierung zu navigieren. Geben Sie den Benutzercode für die Seite ein. Folgen Sie den Aufforderungen, um die Azure CLI für den Zugriff auf Ihr GitHub-Repository zu autorisieren.
Der up
-Befehl erstellt einen GitHub-Aktionsworkflow im .github/workflows-Ordner Ihres Repositorys. Der Workflow wird ausgelöst, um Ihre Container-App zu erstellen und bereitzustellen, wenn Sie Änderungen per Push an das Repository übertragen.
Überprüfen der Bereitstellung
Kopieren Sie den von containerapp up
zurückgegebenen Domänennamen in einen Webbrowser. Navigieren Sie im Webbrowser zum /albums
-Endpunkt der URL.
Bereinigen von Ressourcen
Wenn Sie nicht mit dem Tutorial Bereitstellen eines Front-Ends fortfahren möchten, können Sie die Azure-Ressourcen, die in dieser Schnellstartanleitung erstellt wurden, mit dem folgenden Befehl entfernen.
Achtung
Mit dem folgenden Befehl werden die angegebene Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht. Wenn die Gruppe Ressourcen außerhalb des Bereichs dieser Schnellstartanleitung enthält, werden diese ebenfalls gelöscht.
az group delete --name $RESOURCE_GROUP
Tipp
Treten Probleme auf? Informieren Sie uns über GitHub, indem Sie ein Problem im Azure Container Apps-Repository öffnen.
Nächste Schritte
Nach Abschluss dieser Schnellstartanleitung können Sie mit Tutorial: Kommunikation zwischen Microservices in Azure Container Apps fortfahren, um zu erfahren, wie Sie eine Front-End-Anwendung bereitstellen, die die API aufruft.