Ć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.*, 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>
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 tomcat7: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
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] ------------------------------------------------------------------------
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.