Övning – Återdistribuera webbappen till Azure App Service

Slutförd

I föregående övning lärde du dig hur du konfigurerar webbappen så att den använder Plugin-programmet Maven för Azure App Service. Maven-projektet är korrekt konfigurerat och testat. Du kan iterera, förbättra och distribuera om din app till Azure. Anta till exempel att du vill hämta viss specifik information om var Azure har distribuerat programkoden och distribuera om webbappen.

I den här övningen uppdaterar du index.jsp-sidan för webbappen så att den innehåller viss information om servern. När du har testat ändringarna lokalt distribuerar du om webbappen till Azure.

Uppdatera och testa webbappen

  1. Använd code för att redigera din index.jsp sida:

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Ersätt innehållet i den här filen med följande HTML- och infogade Java-kod:

    <%@ 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. Spara ändringarna genom att skriva Ctrl+S.

  4. Avsluta kodredigeraren genom att skriva Ctrl+Q.

  5. Du måste öppna en port för att göra den lokala webbservern tillgänglig för visning i en webbläsare. I Cloud Shell använder du curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Kör appen lokalt med följande Maven-kommando:

    mvn package cargo:run
    
  7. Öppna en ny webbläsarflik med hjälp av URL:en i JSON och lägg till MyWebApp/. Du bör se den nya sidan Serverstatus:

    Skärmbild av exempelwebbappen som körs på Tomcat i en webbläsare.

  8. Besök den distribuerade appen genom att välja URL:en i gränssnittet för att se den distribuerade appen som körs i App Services.

  9. Stoppa webbappen med Ctrl+C.

  10. Stäng den öppna porten med hjälp av curl.

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

Återdistribuera webbappen

  1. Återskapa och distribuera om appen:

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven visar en serie byggmeddelanden och det slutliga meddelandet bör indikera en lyckad distribution till 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. Besök den distribuerade appen genom att välja URL:en i gränssnittet:

    Exempelwebbapp som körs på Tomcat i en webbläsare.

Strömma loggar i realtid

Nu har du distribuerat och kört appen på App Service. Om du behöver felsöka kan du använda det här Azure CLI-kommandot för att hämta loggströmning i realtid från appen:

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

I nästa lektion får du lära dig hur du autentiserar dina webbappdistributioner till Azure App Service.