Esercizio - Ridistribuire l'app Web in Servizio app di Azure
Nell'esercizio precedente si è appreso come configurare l'app Web per usare il plug-in Maven per Servizio app di Azure. Il progetto Maven è configurato e testato correttamente. È possibile eseguire l'iterazione dell'app, migliorarla e ridistribuirla in Azure. Si immagini, ad esempio, di voler recuperare alcuni dettagli specifici su dove Azure ha distribuito il codice dell'applicazione e ridistribuire l'app Web.
In questo esercizio si aggiornerà la pagina index.jsp
per l'app Web in modo da includere alcune informazioni sul server. Dopo aver testato le modifiche in locale, sarà necessario ridistribuire l'app Web in Azure.
Aggiornare e testare l'app Web
Usare
code
per modificare la paginaindex.jsp
:code ~/MyWebApp/src/main/webapp/index.jsp
Sostituire il contenuto del file con il codice HTML e Java inline seguente:
<%@ 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>
Salvare le modifiche premendo CTRL+S.
Uscire dall'editor di codice premendo CTRL+Q.
È necessario aprire una porta per rendere disponibile il server Web locale per la visualizzazione in un browser. In Cloud Shell usare
curl
:curl -X POST http://localhost:8888/openPort/8000;
Eseguire l'app in locale con il comando Maven seguente:
mvn package cargo:run
Aprire una nuova scheda del browser usando l'URL del file JSON, accodando
MyWebApp/
. Verrà visualizzata la nuova pagina Stato del server:Visitare l'app distribuita selezionando l'URL nella shell per visualizzare l'app distribuita in esecuzione in Servizi app.
Arrestare l'app Web con CTRL+C.
Chiudere la porta aperta usando
curl
.curl -X POST http://localhost:8888/closePort/8000;
Ridistribuire l'app Web
Ricompilare e ridistribuire l'app:
mvn clean package mvn azure-webapp:deploy
Maven visualizza una serie di messaggi di compilazione e il messaggio finale indica che la distribuzione in Azure è riuscita.
[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] ------------------------------------------------------------------------
Visitare l'app distribuita selezionando l'URL nella shell:
Eseguire lo streaming dei log in tempo reale
È stata ora distribuita ed eseguita l'app in servizio app. Se occorre risolvere dei problemi, è possibile usare il comando dell'interfaccia della riga di comando di Azure per ottenere lo streaming di log in tempo reale dall'app:
az webapp log tail -n <app name> -g "<rgn>[sandbox resource group name]</rgn>"
Nell'unità successiva si apprenderà come autenticare le distribuzioni dell'app Web in Servizio app di Azure.