Exercice : Déployer votre code sur App Service

Effectué

Dans cette unité, vous allez déployer votre application web sur App Service.

Déployer avec ZIP deploy

Nous allons déployer l’application .NET avec ZIP deploy.

Tout d’abord, utilisez dotnet publish pour générer les fichiers d’application finaux, et zip pour les empaqueter dans un fichier zip :

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

Enfin, procédez au déploiement avec az webapp deployment source config-zip. Remplacez <your-app-name> dans la commande suivante par le nom de votre application web Azure, et exécutez-la :

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

Pendant les quelques minutes que dure le déploiement, son état est indiqué dans la sortie. Un code d’état 202 signifie que le déploiement a réussi.

Vérifier le déploiement

Accédons à notre application. Revenez à l’onglet ouvert dans le navigateur contenant la page d’espace réservé et actualisez-le. Si la page d’espace réservé réapparaît, votre instance App Service n’a pas encore redémarré entièrement. Attendez un moment et réessayez. Une fois votre application redémarrée et votre navigateur actualisé, vous voyez la page de démarrage d’une nouvelle application web ASP.NET Core.

Screenshot of welcome page.

Vous venez d’héberger votre nouvelle application ASP.NET Core sur App Service !

Configurer les informations d’identification de déploiement

Certaines techniques de déploiement App Service, notamment celle que nous allons utiliser ici, nécessitent un nom d’utilisateur et un mot de passe distincts de vos informations d’identification Azure. Chaque application web est préconfigurée avec son propre nom d’utilisateur et un mot de passe qui peut être réinitialisé avec une nouvelle valeur aléatoire, mais qui ne peut pas être remplacé par quelque chose que vous choisissez.

Au lieu de rechercher ces valeurs aléatoires pour chacune de vos applications, vous pouvez utiliser une fonctionnalité App Service appelée User Deployment Credentials (Définir les informations d’identification de déploiement utilisateur) pour créer vos propres nom d’utilisateur et mot de passe. Les valeurs que vous choisissez fonctionnent pour les déploiements sur toutes les applications web App Service sur lesquelles vous disposez d’autorisations, y compris les applications web que vous créerez plus tard. Comme le nom d’utilisateur et le mot de passe que vous sélectionnez sont liés à vos informations d’identification Azure et réservés uniquement à votre usage, ne les partagez pas avec d’autres utilisateurs. Vous pouvez modifier le nom d’utilisateur et le mot de passe à tout moment.

La façon la plus simple de créer des informations d’identification de déploiement consiste à utiliser l’interface de ligne de commande Azure.

  1. Exécutez la commande suivante dans Cloud Shell pour définir les informations d’identification de déploiement, en remplaçant <username> et <password> par des valeurs que vous choisissez :

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

Déployer le package d’application Java avec WAR deploy

Nous allons déployer notre application Java avec WAR deploy. WAR deploy fait partie de l’API REST Kudu, interface de service d’administration disponible sur toutes les applications web App Service à laquelle vous pouvez accéder via HTTP. La façon la plus simple d’utiliser WAR deploy est de l’utiliser en association avec l’utilitaire HTTP curl à partir de la ligne de commande.

Exécutez les commandes suivantes pour déployer votre application web Java avec WAR deploy. Remplacez <username> et <password> par le nom d’utilisateur et le mot de passe de l’utilisateur de déploiement que vous avez créés précédemment, et remplacez <your-app-name> par le nom de l’application web que vous avez créée dans le portail Azure.

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

Quand l’exécution de la commande est terminée, ouvrez un nouvel onglet de navigateur et accédez à https://<your-app-name>.azurewebsites.net. Vous voyez le message d’accueil de votre application. Vous avez réussi le déploiement !

Déployer avec az webapp up

Déployons notre application Node.js avec az webapp up. Cette commande crée un package de notre application et l’envoie à notre instance App Service, où elle est générée et déployée.

Commençons par rassembler des informations sur notre ressource Application web. Exécutez les commandes suivantes pour définir des variables d’environnement qui contiennent le nom de l’application, le nom du groupe de ressources, le nom du plan, la référence SKU et l’emplacement. Chacune d’elles utilise une commande az différente pour demander les informations à Azure ; az webapp up a besoin de ces valeurs pour cibler notre application web existante.

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)

Exécutez à présent az webapp up avec les valeurs appropriées. Veillez à être dans le répertoire helloworld avant d’exécuter cette commande.

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

La propagation du déploiement prend quelques minutes. Vous pourrez voir la progression dans la sortie de l’état. Un code d’état 202 signifie que votre déploiement a réussi.

Vérifier le déploiement

Accédons à notre application. La dernière ligne de la sortie de az webapp up avant le bloc de code JSON contient un lien vers votre application. Sélectionnez-le pour y accéder dans un nouvel onglet du navigateur. Le chargement de la page prend un peu de temps, car App Service initialise votre application pour la première fois.

Une fois votre application chargée, vous voyez son message d’accueil. Vous avez réussi le déploiement !

Screenshot of welcome page.

Déployer avec az webapp up

Déployons notre application Python avec az webapp up. Cette commande crée un package de notre application et l’envoie à notre instance App Service, où elle est générée et déployée.

Commençons par rassembler des informations sur notre ressource Application web. Exécutez les commandes suivantes pour définir des variables d’environnement qui contiennent le nom de l’application, le nom du groupe de ressources, le nom du plan, la référence SKU et l’emplacement. Celles-ci utilisent différentes commandes az pour demander les informations à Azure ; az webapp up a besoin de ces valeurs pour cibler notre application web existante.

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)

Exécutez à présent az webapp up avec les valeurs appropriées. Veillez à être dans le répertoire BestBikeApp avant d’exécuter cette commande.

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

Pendant les quelques minutes que dure le déploiement, son état est indiqué dans la sortie.

Vérifier le déploiement

Accédez à votre application. Une ligne avec une URL apparaît dans la sortie, juste avant le bloc de code JSON. Sélectionnez ce lien pour ouvrir votre application dans un nouvel onglet de navigateur. Le chargement de la page peut prendre un certain temps, car le service d’application initialise votre application pour la première fois.

Une fois votre programme chargé, vous voyez son message d’accueil. Vous avez réussi le déploiement !

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