Exercice - Redéployer votre application web sur Azure App Service

Effectué

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

  1. Utilisez code pour modifier votre page index.jsp :

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. 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>
    
  3. Enregistrez vos modifications en tapant Ctrl+S.

  4. Quittez l’éditeur de code en tapant Ctrl+Q.

  5. 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;
    
  6. Exécutez l’application localement avec la commande Maven suivante :

    mvn package cargo:run
    
  7. 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 :

    Capture d’écran de l’exemple d’application web s’exécutant sur Tomcat dans un navigateur web.

  8. 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.

  9. Arrêtez l’application web avec Ctrl+C.

  10. Fermez le port ouvert à l’aide de curl.

    curl -X POST http://localhost:8888/closePort/8000;
    

Redéployer votre application web

  1. 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] ------------------------------------------------------------------------
    
  2. Accédez à l’application déployée en sélectionnant l’URL dans l’interpréteur de commandes :

    Exemple d’application web exécutée sur Tomcat dans un navigateur web.

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.