Exercício – Reimplementar a aplicação Web no Serviço de Aplicações do Azure

Concluído

No exercício anterior, aprendeu a configurar a aplicação Web para utilizar o Plug-in do Maven para o Serviço de Aplicações do Azure. Seu projeto Maven está configurado e testado corretamente. Você pode iterar, melhorar e reimplantar seu aplicativo no Azure. Por exemplo, digamos que quer obter alguns detalhes específicos sobre onde o Azure implementou o código da aplicação e reimplementar a aplicação Web.

Neste exercício, irá atualizar a página index.jsp da aplicação Web para incluir algumas informações sobre o servidor. Depois de testar essas alterações localmente, irá reimplementar a aplicação Web no Azure.

Atualizar e testar a sua aplicação Web

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

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Substitua o conteúdo deste ficheiro pelo seguinte HTML e código Java inline:

    <%@ 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 as suas alterações ao escrever Ctrl+S.

  4. Saia do editor de código ao escrever Ctrl+Q.

  5. Terá de abrir uma porta para disponibilizar o servidor Web local para visualização num browser. No Cloud Shell, use curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Execute o aplicativo localmente com o seguinte comando Maven:

    mvn tomcat7:run
    
  7. Abra um novo separador do browser através do URL no JSON e anexe MyWebApp/. Você deve ver a nova página Status do Servidor:

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

  8. Visite a aplicação implementada ao selecionar o URL na shell para ver a aplicação implementada em execução nos Serviços Aplicacionais.

  9. Pare o aplicativo Web com Ctrl+C.

  10. Feche a porta aberta com curl.

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

Reimplementar a aplicação Web

  1. Reconstruir e reimplantar o aplicativo:

    mvn clean package
    mvn azure-webapp:deploy 
    
  2. Você obterá esta saída de console mostrando que a implantação usou a nova configuração de autenticação:

    [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. Visite o aplicativo implantado selecionando a URL no shell:

    Example web app running on Tomcat in a web browser.

Transmitir em fluxo registos em tempo real

Agora você implantou e executa seu aplicativo no Serviço de Aplicativo. Se precisar solucionar problemas, você pode usar este comando da CLI do Azure para obter streaming de log em tempo real do aplicativo:

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

Na próxima unidade, irá aprender a autenticar as implementações da sua aplicação Web no Serviço de Aplicações do Azure.