Ćwiczenie — Ponowne wdrażanie aplikacji internetowej w usłudze Azure App Service
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
Użyj
code
polecenia , aby edytowaćindex.jsp
stronę:code ~/MyWebApp/src/main/webapp/index.jsp
Zastąp zawartość tego pliku następującym kodem HTML i śródwierszowym kodem 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>
Zapisz zmiany za pomocą kombinacji klawiszy Ctrl+S.
Zamknij edytor kodu za pomocą kombinacji klawiszy Ctrl+Q.
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;
Uruchom aplikację lokalnie za pomocą następującego polecenia narzędzia Maven:
mvn package cargo:run
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: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.
Zatrzymaj aplikację internetową za pomocą kombinacji klawiszy Ctrl+C.
Zamknij otwarty port przy użyciu programu
curl
.curl -X POST http://localhost:8888/closePort/8000;
Ponowne wdrażanie aplikacji internetowej
Ponownie skompiluj i ponownie wdróż aplikację:
mvn clean package mvn azure-webapp:deploy
Program Maven wyświetla serię komunikatów kompilacji, a ostatni komunikat powinien wskazywać pomyślne wdrożenie na platformie 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] ------------------------------------------------------------------------
Przejdź do wdrożonej aplikacji, wybierając adres URL w powłoce:
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.