Übung: Erneutes Bereitstellen Ihrer Web-App in Azure App Service

Abgeschlossen

In der vorherigen Übung haben Sie erfahren, wie Sie Ihre Web-App zum Verwenden des Maven-Plug-Ins für Azure App Service konfigurieren. Ihr Maven-Projekt wurde ordnungsgemäß konfiguriert und getestet. Sie können Ihre App durchlaufen, verbessern und erneut in Azure bereitstellen. Angenommen Sie möchten spezifische Informationen darüber abrufen, wo Azure Ihren Anwendungscode bereitgestellt hat, und Ihre Web-App dann wieder bereitstellen.

In dieser Übung aktualisieren Sie die index.jsp-Seite Ihrer Web-App, damit diese Informationen zum Server enthält. Nachdem Sie diese Änderungen lokal getestet haben, stellen Sie Ihre Web-App wieder in Azure bereit.

Aktualisieren und Testen Ihrer Web-App

  1. Verwenden Sie code zum Bearbeiten Ihrer index.jsp-Seite:

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Ersetzen Sie die Inhalte dieser Datei durch den folgenden HTML-Code und Java-Inlinecode:

    <%@ 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. Speichern Sie Ihre Änderungen, indem Sie STRG+S drücken.

  4. Schließen Sie den Code-Editor, indem Sie STRG+Q drücken.

  5. Sie müssen einen Port öffnen, um den lokalen Webserver zum Anzeigen in einem Browser zur Verfügung zu stellen. Verwenden Sie curl in Cloud Shell:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Führen Sie die App mit dem folgenden Maven-Befehl lokal aus:

    mvn package cargo:run
    
  7. Öffnen Sie eine neue Browserregisterkarte, fügen Sie die URL aus dem zurückgegebenen JSON-Objekt ein, und fügen Sie MyWebApp/ an das Ende der URL an. Die neue Serverstatusseite sollte angezeigt werden:

    Screenshot der Beispiel-Web-App, die in Tomcat in einem Webbrowser ausgeführt wird.

  8. Navigieren Sie zur bereitgestellten App, indem Sie auf die URL in der Shell klicken, um die bereitgestellte App anzuzeigen, die auf App Services ausgeführt wird.

  9. Beenden Sie die Web-App mit STRG+C.

  10. Schließen Sie den geöffneten Port mithilfe von curl.

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

Erneutes Bereitstellen der Web-App

  1. Erstellen Sie die App erneut, und stellen Sie sie erneut bereit:

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven zeigt mehrere Buildmeldungen an, und die letzte Meldung sollte auf eine erfolgreiche Bereitstellung in Azure hinweisen.

    [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. Navigieren Sie zur bereitgestellten App, indem Sie auf die URL in der Shell klicken:

    Beispiel-Web-App, die in Tomcat in einem Webbrowser ausgeführt wird

Streamen von Protokollen in Echtzeit

Sie haben Ihre App auf App Service bereitgestellt und ausgeführt. Wenn Sie Probleme beheben müssen, können Sie diesen Azure CLI-Befehl verwenden, um das Echtzeitprotokollstreaming über die App abzurufen:

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

In der nächsten Lerneinheit erfahren Sie, wie Sie Ihre Web-App-Bereitstellungen bei Azure App Service authentifizieren.