Exercice - Redéployer votre application web sur Azure App Service
Dans l’exercice précédent, vous avez découvert comment configurer votre application web afin d’utiliser le plug-in Maven pour Azure App Service. Votre projet Maven est correctement configuré et testé. Vous pouvez itérer, améliorer et redéployer votre application sur Azure. Par exemple, imaginez que vous souhaitez récupérer des détails spécifiques sur l’endroit où Azure a déployé votre code d’application, et redéployer votre application web.
Dans cet exercice, vous allez mettre à jour la page index.jsp
de votre application web de façon à inclure des informations sur le serveur. Après avoir testé ces modifications localement, vous redéploierez votre application web sur Azure.
Mettre à jour et tester votre application web
Utilisez
code
pour modifier votre pageindex.jsp
:code ~/MyWebApp/src/main/webapp/index.jsp
Remplacez le contenu de ce fichier par le code HTML et le code Java inline suivants :
<%@ page import = "java.io.*,java.util.*, jakarta.servlet.*, java.net.InetAddress, java.io.File" %> <html> <head><title>Server Status Page</title></head> <body> <h2>Server name: <% out.print(InetAddress.getLocalHost().getHostName());%></h2> <p><strong>Internal IP Address:</strong> <% out.println(InetAddress.getLocalHost().getHostAddress()); %></p> <p><strong>Free disk space:</strong> <% File file = new File("/"); out.println(file.getFreeSpace()); file = null; %> </p> <p><strong>Free memory: </strong> <% out.println(Runtime.getRuntime().freeMemory()); %> </p> <p><strong>Date: </strong> <% Date date = new Date(); out.print(date.toString()); date = null; %> </p> </body> </html>
Enregistrez vos modifications en tapant Ctrl+S.
Quittez l’éditeur de code en tapant Ctrl+Q.
Vous devez ouvrir un port afin que le serveur web local puisse être affiché dans un navigateur. Dans Cloud Shell, utilisez
curl
:curl -X POST http://localhost:8888/openPort/8000;
Exécutez l’application localement avec la commande Maven suivante :
mvn package cargo:run
Ouvrez un nouvel onglet de navigateur en utilisant l’URL mentionnée dans le code JSON, en ajoutant
MyWebApp/
. La nouvelle page État du serveur doit s’afficher :Accédez à l’application déployée en sélectionnant l’URL dans l’interpréteur de commandes pour voir l’application déployée exécutée sur App Services.
Arrêtez l’application web avec Ctrl+C.
Fermez le port ouvert à l’aide de
curl
.curl -X POST http://localhost:8888/closePort/8000;
Redéployer votre application web
Regénérez et redéployez l’application :
mvn clean package mvn azure-webapp:deploy
Maven affiche une série de messages de génération, et le message final doit indiquer que le déploiement sur Azure a réussi.
[INFO] Successfully deployed the resources to MyWebApp-1570214065588 [INFO] Trying to deploy artifact to MyWebApp-1570214065588... [INFO] Deploying (/home/cephas/MyWebApp/target/MyWebApp.war)[war] ... [INFO] Application url: https://MyWebApp-1570214065588.azurewebsites.net [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:00 min [INFO] Finished at: 2024-05-02T12:58:05Z [INFO] ------------------------------------------------------------------------
Accédez à l’application déployée en sélectionnant l’URL dans l’interpréteur de commandes :
Diffuser en continu des journaux en temps réel
Vous avez alors déployé et exécuté votre application sur App Service. Si vous avez besoin de résoudre des problèmes, vous pouvez utiliser cette commande Azure CLI pour obtenir le streaming de journaux en temps réel depuis l’application :
az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"
Dans l’unité suivante, vous allez découvrir comment authentifier vos déploiements d’application web auprès d’Azure App Service.