Distribuire un'app Web KumuluzEE nel servizio app di Azure con Maven
In questa guida introduttiva, si utilizzerà il plug-in Maven per le App Web del Servizio App di Azure per distribuire un'applicazione KumuluzEE su Servizio App di Azure su Linux. Si sceglie la distribuzione java SE su file Tomcat e WAR quando si vogliono consolidare le dipendenze, il runtime e la configurazione dell'app in un singolo artefatto distribuibile.
Se non hai un abbonamento a Azure, crea un account gratuito prima di iniziare.
Prerequisiti
- L'interfaccia della riga di comando di Azure , in locale oppure tramite Azure Cloud Shell.
- Kit di Sviluppo Java (JDK) supportato. Per altre informazioni sui JDK disponibili per lo sviluppo in Azure, vedere supporto Java in Azure e Azure Stack.
- Apache Maven, versione 3.
Accedi alla CLI di Azure
Il modo più semplice e semplice per ottenere il plug-in Maven che distribuisce l'applicazione KumuluzEE consiste nell'usare l'interfaccia della riga di comando di Azure . Accedere all'account Azure usando l'interfaccia della riga di comando di Azure:
az login
Seguire le istruzioni per completare il processo di accesso.
Creare un'app di esempio da MicroProfile Starter
In questa sezione crei un'applicazione KumuluzEE e la testi localmente.
Creare un progetto di base Java SE 8
Aprire un browser web e passare al sito MicroProfile Starter.
Immettere o selezionare i valori dei campi in base a quelli nella tabella seguente:
Campo Valore groupId com.microsoft.azure.samples.kumuluzee artifactId kumuluzEE-hello-azure Versione MicroProfile MP 3.2 Versione di Java SE Java 8 MicroProfile Runtime KumuluzEE Esempi di specifiche Metriche, OpenAPI Selezionare DOWNLOAD per scaricare il progetto.
Decomprimere il file di archivio usando il comando seguente:
unzip kumuluzEE-hello-azure.zip
Eseguire l'applicazione in un ambiente locale
Modificare la directory nel progetto completato usando il comando seguente:
cd kumuluzEE-hello-azure/
Compilare il progetto usando Maven usando il comando seguente:
mvn clean package
Eseguire l'applicazione usando il comando seguente:
java -jar target/kumuluzEE-hello-azure.jar
Testare l'app Web passando a essa in locale usando un Web browser. Ad esempio, è possibile usare il comando seguente se è disponibile
curl
:curl http://localhost:8080/data/hello
Verrà visualizzato il messaggio seguente: Hello World.
Configurare il plug-in Maven per il servizio app di Azure
In questa sezione viene configurato il progetto KumuluzEEE pom.xml file in modo che Maven possa distribuire l'app nel servizio app di Azure in Linux.
Aprire il file pom.xml in un editor di codice.
Nella sezione
<build>
del file pom.xml, inserire la seguente voce di<plugin>
all'interno del tag<plugins>
.<build> <finalName>kumuluzEE-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
Configurare la distribuzione eseguendo il comando Maven seguente:
mvn azure-webapp:config
Selezionare le opzioni seguenti quando richiesto:
Campo di input Inserisci/Seleziona valore Definire il valore per il sistema operativo (predefinito: Linux): 1. Linux Definire il valore per javaVersion(Default: Java 8): 2. Java 8 Conferma (Y/N) y Questo comando genera un output simile all'esempio seguente:
[INFO] Scanning for projects... [INFO] [INFO] ----< com.microsoft.azure.samples.kumuluzee:kumuluzEE-hello-azure >----- [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure --- 1. linux [*] 2. windows 3. docker Enter index to use: 1 Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 2 Please confirm webapp properties AppName : kumuluzEE-hello-azure-1601006602397 ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 8-jre8 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 44.223 s [INFO] Finished at: 2020-09-25T13:04:02+09:00 [INFO] ------------------------------------------------------------------------
Aggiungere la sezione
<appSettings>
alla sezione<configuration>
diPORT
,WEBSITES_PORT
eWEBSITES_CONTAINER_START_TIME_LIMIT
. La voce XML perazure-webapp-maven-plugin
dovrebbe essere simile all'esempio seguente:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>kumuluzEE-hello-azure-1601006602397</appName> <pricingTier>P1v2</pricingTier> <region>japaneast</region> <runtime> <os>linux</os> <javaVersion>jre8</javaVersion> <webContainer>jre8</webContainer> </runtime> <appSettings> <property> <name>PORT</name> <value>8080</value> </property> <property> <name>WEBSITES_PORT</name> <value>8080</value> </property> <property> <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name> <value>600</value> </property> </appSettings> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Distribuire l'app in Azure
Dopo aver configurato tutte le impostazioni nelle sezioni precedenti di questo articolo, si è pronti per distribuire l'app Web in Azure. A tale scopo, seguire questa procedura:
Dal prompt dei comandi o dalla finestra del terminale in uso in precedenza, ricompilare il file JAR usando Maven, se sono state apportate modifiche al file pom.xml, usando il comando seguente:
mvn clean package
Distribuire l'app Web in Azure usando il comando Maven seguente:
mvn azure-webapp:deploy
Se la distribuzione ha avuto esito positivo, viene visualizzato l'output seguente:
[INFO] Successfully deployed the artifact to https://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+09:00
[INFO] ------------------------------------------------------------------------
Maven distribuisce la tua app Web in Azure. Se l'app Web o il piano dell'app Web non esiste già, viene creato automaticamente. Potrebbero essere necessari alcuni minuti prima che l'app Web sia visibile nell'URL visualizzato nell'output. Navigare all'URL in un browser Web. Verrà visualizzata la schermata seguente:
Dopo aver distribuito l'app Web, è possibile gestirla tramite il portale di Azure . L'app Web è elencata nel microprofile gruppo di risorse.
Puoi accedere alla tua app Web selezionando Sfoglia nella pagina della Panoramica per la tua app Web. Verificare che la distribuzione sia riuscita ed è in esecuzione.
Verificare lo streaming dei log dall'App Service in esecuzione
È possibile usare il seguente comando per visualizzare o tail i log del servizio App in esecuzione. Tutte le chiamate a console.log
nel codice del sito vengono visualizzate nel terminale.
az webapp log tail \
--resource-group microprofile \
--name kumuluzEE-hello-azure-1601006602397
Pulire le risorse
Quando le risorse di Azure non sono più necessarie, pulire le risorse distribuite eliminando il gruppo di risorse.
- Nel portale di Azure selezionare gruppo di risorse dal menu.
- Immettere microprofile nel campo Filtro per nome. Il gruppo di risorse creato in questa esercitazione deve avere questo prefisso.
- Selezionare il gruppo di risorse creato in questa esercitazione.
- Selezionare Elimina gruppo di risorse dal menu.
Passaggi successivi
Per altre informazioni su MicroProfile e Azure, passare al Centro documentazione di MicroProfile in Azure.
Risorse aggiuntive
Per altre informazioni sulle varie tecnologie descritte in questo articolo, vedere gli articoli seguenti: