Übung: Bereitstellen des Codes in App Service

Abgeschlossen

In dieser Lerneinheit stellen Sie die Webanwendung in App Service bereit.

Bereitstellen mit der ZIP-Bereitstellung

Im Folgenden stellen Sie die .NET-Anwendung mithilfe der ZIP-Bereitstellung bereit.

Verwenden Sie zunächst dotnet publish, um die endgültigen App-Dateien zu erstellen und zip, um diese in eine ZIP-Datei zu packen:

cd ~/BestBikeApp
dotnet publish -o pub
cd pub
zip -r site.zip *

Führen Sie zum Schluss die Bereitstellung mit az webapp deployment source config-zip aus. Ersetzen Sie <your-app-name> im folgenden Befehl durch dem Namen Ihrer Azure-Web-App, und führen Sie sie aus:

az webapp deployment source config-zip \
    --src site.zip \
    --resource-group <rgn>[sandbox resource group name]</rgn> \
    --name <your-app-name>

Die Bereitstellung dauert einige Minuten. Währenddessen wird der Ausgabestatus angezeigt. Der Statuscode 202 bedeutet, dass die Bereitstellung erfolgreich war.

Überprüfen der Bereitstellung

Navigieren wir zu unserer Anwendung. Navigieren Sie zur geöffneten Browserregisterkarte zurück, die die Platzhalterseite enthält, und aktualisieren Sie sie. Wenn die Platzhalterseite nochmals angezeigt wird, wurde Ihre App Service-Instanz noch nicht vollständig neu gestartet. Warten Sie einen Moment, und versuchen Sie es noch mal. Wenn Sie nach dem Neustart Ihrer App aktualisieren, wird die Begrüßungsseite für die neue ASP.NET Core-App angezeigt.

Screenshot of welcome page.

Sie haben Ihre neue ASP.NET Core-Anwendung erfolgreich in App Service gehostet.

Konfigurieren von Anmeldeinformationen für die Bereitstellung

Bei einigen Bereitstellungsverfahren für App Service wie auch diesem hier sind ein Benutzername und ein Kennwort erforderlich, die sich von Ihren Azure-Anmeldeinformationen unterscheiden. Jede Web-App ist mit einem eigenen Benutzernamen und einem eigenen Kennwort vorkonfiguriert, die auf einen neuen Zufallswert zurückgesetzt, aber nicht auf einen von Ihnen bestimmten Wert festgelegt werden können.

Statt diese zufälligen Werte für jede Ihrer Apps zu ermitteln, können Sie das App Service-Feature „User Deployment Credentials“ („Benutzerbereitstellungs-Anmeldeinformationen“) nutzen, um Ihren eigenen Benutzernamen und Ihr eigenes Kennwort zu erstellen. Die von Ihnen ausgewählten Werte können für Bereitstellungen auf allen App Service-Web-Apps verwendet werden, für die Sie Berechtigungen besitzen, sowie für neue Web-Apps, die Sie in Zukunft erstellen. Der von Ihnen ausgewählte Benutzername und das Kennwort sind mit Ihren Azure-Anmeldeinformationen verknüpft und nur für Sie persönlich gedacht. Geben Sie sie also nicht an andere weiter. Sie können den Benutzernamen und das Kennwort jederzeit ändern.

Das einfachste Verfahren zum Erstellen von Anmeldeinformationen für die Bereitstellung verwendet die Azure CLI.

  1. Führen Sie zum Festlegen der Bereitstellungsanmeldeinformationen den folgenden Befehl in Cloud Shell aus, wobei Sie <username> und <password> durch Werte Ihrer Wahl ersetzen:

    az webapp deployment user set --user-name <username> --password <password>
    

Bereitstellen des Java-Anwendungspakets mit der WAR-Bereitstellung

Im Folgenden stellen Sie die Java-Anwendung mit der WAR-Bereitstellung bereit. Die WAR-Bereitstellung ist Teil der Kudu-REST-API. Es handelt sich dabei um eine Verwaltungsdienstschnittstelle, die für alle App Service-Web-Apps verfügbar ist und auf die Sie über HTTP zugreifen können. Am einfachsten lässt sich die WAR-Bereitstellung mit dem HTTP-Dienstprogramm curl über die Befehlszeile verwenden.

Führen Sie die folgenden Befehle aus, um Ihre Java-Web-App mithilfe der WAR-Bereitstellung bereitzustellen. Ersetzen Sie <username> und <password> durch den Benutzernamen und das Kennwort des Bereitstellungsbenutzers, den Sie zuvor erstellt haben, sowie <your-app-name> durch den Namen der Web-App, die Sie im Azure-Portal erstellt haben.

cd ~/helloworld/target
curl -v -X POST -u <username>:<password> https://<your-app-name>.scm.azurewebsites.net/api/wardeploy --data-binary @helloworld.war

Sobald der Befehl ausgeführt wurde, öffnen Sie eine neue Browserregisterkarte und navigieren zu https://<your-app-name>.azurewebsites.net. Es wird die Willkommensmeldung der App angezeigt. Sie haben sie erfolgreich bereitgestellt!

Bereitstellen mit az webapp up

Im Folgenden stellen Sie die Node.js-Anwendung mit az webapp up bereit. Mit diesem Befehl wird die Anwendung gepackt und an die App Service-Instanz gesendet. Dort wird sie erstellt und bereitgestellt.

Zunächst müssen Sie einige Informationen über unsere Web-App-Ressource zusammentragen. Führen Sie die folgenden Befehle aus, um Shellvariablen festzulegen, die den Namen der App, den Namen der Ressourcengruppe, den Namen des Plans, die SKU und die Region enthalten. Diese Variablen verwenden verschiedene az-Befehle, um die Informationen von Azure anzufordern. az webapp up benötigt diese Werte als Ziel für die vorhandene Web-App.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Führen Sie jetzt az webapp up mit den entsprechenden Werten aus. Stellen Sie sicher, dass Sie sich im Verzeichnis helloworld befinden, bevor Sie diesen Befehl ausführen.

az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

Die Bereitstellung dauert einige Minuten. Sie können den Fortschritt in der Statusausgabe ansehen. Ein Statuscode von 202 bedeutet, dass die Bereitstellung erfolgreich war.

Überprüfen der Bereitstellung

Navigieren wir zu unserer Anwendung. Die letzte Ausgabezeile von az webapp up vor dem JSON-Codeblock enthält einen Link zu Ihrer App. Wählen Sie es aus, um es auf einer neuen Browserregisterkarte zu öffnen. Es dauert einen Moment, bis die Seite geladen worden ist, da App Service die App zum ersten Mal initialisiert.

Nach dem Öffnen der Anwendung wird die Willkommensmeldung angezeigt. Sie haben sie erfolgreich bereitgestellt!

Screenshot of welcome page.

Bereitstellen mit az webapp up

Im Folgenden stellen Sie die Python-Anwendung mit az webapp up bereit. Mit diesem Befehl wird die Anwendung gepackt und an die App Service-Instanz gesendet. Dort wird sie erstellt und bereitgestellt.

Zunächst müssen Sie einige Informationen über unsere Web-App-Ressource zusammentragen. Führen Sie diese Befehle aus, um Shellvariablen festzulegen, die den Namen der App, den Namen der Ressourcengruppe, den Namen des Plans, die SKU und die Region enthalten. Diese verwenden verschiedene az-Befehle, um die Informationen von Azure anzufordern. az webapp up benötigt diese Werte als Ziel für unsere vorhandene Web-App.

export APPNAME=$(az webapp list --query [0].name --output tsv)
export APPRG=$(az webapp list --query [0].resourceGroup --output tsv)
export APPPLAN=$(az appservice plan list --query [0].name --output tsv)
export APPSKU=$(az appservice plan list --query [0].sku.name --output tsv)
export APPLOCATION=$(az appservice plan list --query [0].location --output tsv)

Führen Sie jetzt az webapp up mit den entsprechenden Werten aus. Stellen Sie sicher, dass Sie sich im Verzeichnis BestBikeApp befinden, bevor Sie diesen Befehl ausführen.

cd ~/BestBikeApp
az webapp up --name $APPNAME --resource-group $APPRG --plan $APPPLAN --sku $APPSKU --location "$APPLOCATION"

Die Bereitstellung dauert einige Minuten. Währenddessen wird der Ausgabestatus angezeigt.

Überprüfen der Bereitstellung

Navigieren wir zu unserer Anwendung. In der Ausgabe, direkt vor dem JSON-Codeblock, befindet sich eine Zeile mit einer URL. Wählen Sie diesen Link aus, um Ihre App in einer neuen Browserregisterkarte zu öffnen. Das Laden der Seite kann einen Moment dauern, da App Service Ihre App zum ersten Mal initialisiert.

Nach dem Öffnen der Anwendung wird die Willkommensmeldung angezeigt. Sie haben sie erfolgreich bereitgestellt!

Screenshot of Python's welcome page showing Hello Best Bike App!