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

Effectué

Dans l’exercice précédent, vous avez appris à configurer votre application web pour 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, supposons que vous souhaitez récupérer des détails spécifiques sur l’emplacement où Azure a déployé votre code d’application et redéployé votre application web.

Dans cet exercice, vous allez mettre à jour la index.jsp page de votre application web pour inclure des informations sur le serveur. Après avoir testé ces modifications localement, vous allez redéployer votre application web sur Azure.

Mettre à jour et tester votre application web

  1. Permet code de modifier votre index.jsp page :

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Remplacez le contenu de ce fichier par le code HTML et Java inclus suivant :

    <%@ 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 pour rendre le serveur web local disponible 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 à l’aide de l’URL dans le json, en ajoutant MyWebApp/. Vous devez voir la nouvelle page État du serveur :

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

  8. Visitez l’application déployée en sélectionnant l’URL dans l’interpréteur de commandes pour voir l’application déployée s’exécutant 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éployez votre application web

  1. Regénérer et redéployer 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 le déploiement réussi sur Azure.

    [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. Visitez l’application déployée en sélectionnant l’URL dans l’interpréteur de commandes :

    Exemple d’application web s’exécutant sur Tomcat dans un navigateur web.

Effectuer le streaming des journaux en temps réel

Vous avez maintenant 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 apprendre à authentifier vos déploiements d’applications web auprès d’Azure App Service.