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.*, javax.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 tomcat7: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:

    Screenshot of the example web app running on Tomcat in a web browser.

  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 
    
  2. Verá que en la salida de la consola se muestra que la implementación ha usado la nueva configuración de autenticación:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building MyWebApp Maven Webapp 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.9.0:deploy (default-cli) @ MyWebApp ---
    [INFO] [Correlation ID: 3e5cf479-6732-4c6a-96da-88044cdadcc0] Instance discovery was successful
    [INFO] Updating app service plan
    [INFO] Updating target Web App...
    [INFO] Successfully updated Web App.
    [INFO] Using 'UTF-8' encoding to copy filtered resources.
    [INFO] Copying 1 resource to /home/~/MyWebApp/target/azure-webapp/MyWebApp-1570214065588
    [INFO] Trying to deploy artifact to MyWebApp-1570214065588...
    [INFO] Deploying the war file MyWebApp.war...
    [INFO] Successfully deployed the artifact to https://MyWebApp-1570214065588.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 19.448 s
    [INFO] Finished at: 2019-10-09T12:00:15+00:00
    [INFO] Final Memory: 40M/324M
    [INFO] ------------------------------------------------------------------------
    
  3. Para visitar la aplicación implementada, seleccione la dirección URL en el shell:

    Example web app running on Tomcat in a web browser.

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.