Ejercicio: volver a implementar una aplicación web en Azure App Service

Completado

En el ejercicio anterior, aprendió a configurar la aplicación web para que use el complemento Maven para Azure App Service. El proyecto de Maven está configurado y probado correctamente. Puede iterar, mejorar y, volver a implementar la aplicación en Azure. Por ejemplo, imagine que quiere recuperar algunos detalles concretos sobre dónde ha implementado Azure el código de la aplicación y volver a implementar la aplicación web.

En este ejercicio, actualizará la página de index.jsp de la aplicación web para incluir información sobre el servidor. Después de probar los cambios localmente, volverá a implementar la aplicación web en Azure.

Actualización y prueba de la aplicación web

  1. Use code para editar la página de index.jsp:

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Reemplace el contenido de este archivo por el siguiente código HTML y Java insertado:

    <%@ 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. Guarde los cambios escribiendo Ctrl+S.

  4. Escriba Ctrl+Q para salir del editor de código.

  5. Debe abrir un puerto para que el servidor web local esté disponible para verlo en un explorador. En Cloud Shell, use curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Ejecute la aplicación localmente con el siguiente comando de Maven:

    mvn package cargo:run
    
  7. Abra una nueva pestaña del explorador con la dirección URL en el archivo JSON, anexando MyWebApp/. Debería ver la nueva página de estado del servidor:

    Captura de pantalla de la aplicación web de ejemplo que se ejecuta en Tomcat en un explorador web.

  8. Vaya a la aplicación implementada; para ello, seleccione la dirección URL en el shell para ver la aplicación implementada que se ejecuta en App Services.

  9. Detenga la aplicación web con Ctrl+C.

  10. Cierre el puerto abierto mediante curl.

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

Volver a implementar la aplicación web

  1. Recompile y vuelva a implementar la aplicación:

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven muestra una serie de mensajes de compilación y el mensaje final debe indicar una implementación correcta en 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. Para visitar la aplicación implementada, seleccione la dirección URL en el shell:

    Ejemplo de app web ejecutándose en Tomcat en un explorador web.

Transmisión de registros en tiempo real

Ha implementado y ejecutado la aplicación en App Service. Si necesita solucionar problemas, puede usar este comando de la CLI de Azure para obtener el streaming de registro en tiempo real de la aplicación:

az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"

En la siguiente unidad, aprenderá a autenticar las implementaciones de la aplicación web en Azure App Service.