Ćwiczenie — Ponowne wdrażanie aplikacji internetowej w usłudze Azure App Service

Ukończone

W poprzednim ćwiczeniu przedstawiono sposób konfigurowania aplikacji internetowej pod kątem użycia wtyczki Maven dla usługi Azure App Service. Projekt Maven jest prawidłowo skonfigurowany i przetestowany. Możesz iterować, ulepszać i ponownie wdrażać aplikację na platformie Azure. Załóżmy na przykład, że chcesz pobrać pewne szczegółowe informacje na temat lokalizacji kodu aplikacji wdrożonego na platformie Azure, a następnie wdrożyć ponownie aplikację internetową.

W tym ćwiczeniu zaktualizujesz stronę index.jsp aplikacji internetowej, tak aby zawierała pewne informacje o serwerze. Po przetestowaniu tych zmian lokalnie wdrożysz ponownie aplikację internetową na platformie Azure.

Aktualizowanie i testowanie aplikacji internetowej

  1. Użyj code polecenia , aby edytować index.jsp stronę:

    code ~/MyWebApp/src/main/webapp/index.jsp
    
  2. Zastąp zawartość tego pliku następującym kodem HTML i śródwierszowym kodem Java:

    <%@ 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. Zapisz zmiany za pomocą kombinacji klawiszy Ctrl+S.

  4. Zamknij edytor kodu za pomocą kombinacji klawiszy Ctrl+Q.

  5. Potrzebujesz otworzyć port, aby umożliwić wyświetlenie lokalnego serwera internetowego w przeglądarce. W usłudze Cloud Shell użyj polecenia curl:

    curl -X POST http://localhost:8888/openPort/8000;
    
  6. Uruchom aplikację lokalnie za pomocą następującego polecenia narzędzia Maven:

    mvn tomcat7:run
    
  7. Otwórz nową kartę przeglądarki za pomocą adresu URL w kodzie JSON, dołączając element MyWebApp/. Powinna zostać wyświetlona nowa strona Stan serwera:

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

  8. Przejdź do wdrożonej aplikacji, wybierając adres URL w powłoce, aby zobaczyć wdrożoną aplikację działającą w usłudze App Services.

  9. Zatrzymaj aplikację internetową za pomocą kombinacji klawiszy Ctrl+C.

  10. Zamknij otwarty port przy użyciu programu curl.

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

Ponowne wdrażanie aplikacji internetowej

  1. Ponownie skompiluj i ponownie wdróż aplikację:

    mvn clean package
    mvn azure-webapp:deploy 
    
  2. Uzyskasz te dane wyjściowe konsoli z wyświetlonymi danymi wyjściowymi, że wdrożenie użyło nowej konfiguracji uwierzytelniania:

    [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. Przejdź do wdrożonej aplikacji, wybierając adres URL w powłoce:

    Example web app running on Tomcat in a web browser.

Przesyłanie strumieniowe dzienników w czasie rzeczywistym

Aplikacja została wdrożona i uruchomiona w usłudze App Service. Jeśli musisz rozwiązać problemy, możesz użyć tego polecenia interfejsu wiersza polecenia platformy Azure, aby uzyskać przesyłanie strumieniowe dzienników w czasie rzeczywistym z aplikacji:

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

W następnej lekcji dowiesz się, jak uwierzytelniać wdrożenia aplikacji internetowej względem usługi Azure App Service.