Cvičení – opětovné nasazení webové aplikace do služby Azure App Service

Dokončeno

V předchozím cvičení jste zjistili, jak nakonfigurovat webovou aplikaci tak, aby používala modul plug-in Maven pro Azure App Service. Váš projekt Maven je správně nakonfigurovaný a otestovaný. Aplikaci můžete iterovat, vylepšovat a znovu nasadit do Azure. Řekněme například, že chcete načíst určité podrobnosti o tom, kde Azure nasadil kód vaší aplikace, a znovu nasadit webovou aplikaci.

V tomto cvičení aktualizujete stránku index.jsp vaší webové aplikace tak, aby obsahovala informace o serveru. Po místním otestování těchto změn webovou aplikaci znovu nasadíte do Azure.

Aktualizace a otestování webové aplikace

  1. Upravte stránku index.jsp pomocí code:

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Obsah tohoto souboru nahraďte následujícím kódem HTML a vloženým kódem Java:

    <%@ 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. Uložte změny zadáním Ctrl+S.

  4. Ukončete editor kódu zadáním Ctrl+Q.

  5. Budete muset otevřít port, aby byl místní webový server dostupný pro zobrazení v prohlížeči. V Cloud Shellu použijte curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Spusťte aplikaci místně pomocí následujícího příkazu Mavenu:

    mvn package cargo:run
    
  7. Otevřete novou kartu prohlížeče pomocí adresy URL ve formátu JSON a připojte MyWebApp/. Měla by se zobrazit nová stránka Stav serveru:

    Snímek obrazovky s ukázkovou webovou aplikací běžící na Tomcatu ve webovém prohlížeči

  8. Přejděte do nasazené aplikace tak, že v prostředí vyberete adresu URL a zobrazí se nasazená aplikace spuštěná ve službě App Services.

  9. Zastavte webovou aplikaci s Ctrl+C.

  10. Zavřete otevřený port pomocí curl.

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

Opětovné nasazení webové aplikace

  1. Znovu sestavte a nasaďte aplikaci:

    mvn clean package
    mvn azure-webapp:deploy 
    

    Maven zobrazí řadu zpráv sestavení a konečná zpráva by měla indikovat úspěšné nasazení do 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. Výběrem adresy URL v prostředí přejděte do nasazené aplikace:

    Ukázková webová aplikace spuštěná na Tomcatu ve webovém prohlížeči.

Streamování protokolů v reálném čase

Teď jste nasadili a spustili aplikaci ve službě App Service. Pokud potřebujete odstraňovat potíže, můžete pomocí tohoto příkazu Azure CLI získat streamování logů v reálném čase z aplikace.

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

V další lekci se dozvíte, jak ověřovat nasazení webových aplikací do služby Azure App Service.