Distribuire un'app Web Payara Micro in Servizio app di Azure con Maven
In questa guida di avvio rapido si userà il plug-in Maven per app Web del servizio app di Azure per distribuire un'applicazione Payara Micro in Servizio app di Azure in Linux. La distribuzione con Java SE sarà preferibile rispetto a Tomcat e file WAR quando si vogliono consolidare le dipendenze, il runtime e la configurazione dell'app in un singolo artefatto distribuibile.
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Prerequisiti
- Interfaccia della riga di comando di Azure, in locale o tramite Azure Cloud Shell.
- Java Development Kit (JDK) supportato. Per altre informazioni sui JDK disponibili per l'uso durante lo sviluppo in Azure, vedere Supporto java in Azure e Azure Stack.
- Apache Maven, versione 3.
Accedere all'interfaccia della riga di comando di Azure
Il modo più semplice e facile per distribuire l'applicazione PayaraMicro tramite il plug-in Maven consiste nell'usare l'interfaccia della riga di comando di Azure.
Accedere all'account Azure con 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 si creerà un'applicazione PayaraMicro e la si testerà in locale.
Aprire un Web browser e passare al sito MicroProfile Starter .
Immettere o selezionare i valori per i campi come indicato di seguito.
Campo valore groupId com.microsoft.azure.samples.payaramicro artifactId payaramicro-hello-azure MicroProfile Version (Versione di MicroProfile) MP 3.2 Java SE Version (Versione di Java SE) Java 11 MicroProfile Runtime (Runtime di MicroProfile) PayaraMicro Examples for Specifications (Esempi per le specifiche) Metrics, OpenAPI Selezionare DOWNLOAD per scaricare il progetto.
Decomprimere il file di archivio, ad esempio:
unzip payaraMicro-hello-azure.zip
Eseguire l'applicazione nell'ambiente locale
Passare alla directory del progetto completato. Ad esempio:
cd payaramicro-hello-azure/
Compilare il progetto usando Maven, ad esempio:
mvn clean package
Eseguire il progetto, ad esempio:
java -jar target/payaramicro-hello-azure-microbundle.jar
Testare l'app Web esplorandola localmente tramite un Web browser. Se è disponibile curl, ad esempio, è possibile usare il comando seguente:
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 si configurerà il file pom.xml del progetto PayaraMicro in modo che Maven possa distribuire l'app in 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 voce<plugin>
seguente all'interno del tag<plugins>
.<build> <finalName>payaramicro-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
È quindi possibile configurare la distribuzione eseguendo il comando Maven seguente:
mvn azure-webapp:config
Selezionare le opzioni seguenti quando richiesto:
Campo di input Valore di input/selezione Definire il valore per OS(Default: Linux): 1. linux Definire il valore per javaVersion(Default: Java 8): 1. Java 11 Definire il valore per runtimeStack(Default: TOMCAT 8.5): TOMCAT 8.5 Confirm (Y/N) y [! NOTA] Anche se non si usa Tomcat, selezionare
TOMCAT 8.5
in questo momento. Durante la configurazione dettagliata si modificherà il valore daTOMCAT 8.5
aJava11
.Questo comando genera un output simile all'esempio seguente:
[INFO] Scanning for projects... [INFO] [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >--- [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ war ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure --- Define value for OS(Default: Linux): 1. linux [*] 2. windows 3. docker Enter index to use: Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 1 Define value for runtimeStack(Default: TOMCAT 8.5): 1. TOMCAT 9.0 2. TOMCAT 8.5 [*] Enter index to use: Please confirm webapp properties AppName : payaramicro-hello-azure-1601009217863 ResourceGroup : payaramicro-hello-azure-1601009217863-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : TOMCAT 8.5-java11 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 22.302 s [INFO] Finished at: 2020-09-25T13:47:11+09:00 [INFO] ------------------------------------------------------------------------
Modificare la
runtime
voce daTOMCAT 8.5
ajava11
e ladeployment
voce da*.war
a*.jar
. Aggiungere quindi la<appSettings>
sezione alla<configuration>
sezione 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.9.1</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>payaramicro-hello-azure-1591860934798</appName> <pricingTier>P1v2</pricingTier> <region>japaneast</region> <runtime> <os>linux</os> <javaVersion>java11</javaVersion> <webContainer>java11</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:
Se sono state apportate modifiche al file pom.xml, dalla finestra del terminale o al prompt dei comandi usato in precedenza ricompilare il file JAR usando Maven. Ad esempio:
mvn clean package
Distribuire l'app Web in Azure usando Maven. Ad esempio:
mvn azure-webapp:deploy
Se la distribuzione è stata completata, verrà visualizzato l'output seguente.
[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+09:00
[INFO] ------------------------------------------------------------------------
Maven distribuirà l'app Web in Azure. Se l'app Web o il piano dell'app Web non esiste già, verrà creato automaticamente. Potrebbero essere necessari alcuni minuti prima che l'app Web sia visibile nell'URL indicato nell'output. Passare all'URL in un Web browser. Verrà visualizzata la schermata seguente.
Quando il Web è stato distribuito, è possibile gestirlo tramite il portale di Azure.
L'app Web verrà elencata nel gruppo di risorse microprofile .
È possibile accedere all'app Web selezionando Sfoglia nella pagina Panoramica dell'app Web. Verificare che la distribuzione sia riuscita e in esecuzione.
Verificare il flusso di log dal servizio app in esecuzione
È possibile visualizzare i log del servizio app in esecuzione. Qualsiasi chiamata effettuata a console.log
nel codice del sito viene visualizzata nel terminale.
az webapp log tail \
--resource-group microprofile \
--name payaramicro-hello-azure-1601009217863
Pulire le risorse
Quando non sono più necessarie, eseguire la pulizia delle risorse di Azure distribuite eliminando il gruppo di risorse.
- Nel portale di Azure selezionare Gruppo di risorse nel menu a sinistra.
- Immettere microprofile nel campo Filtra per nome. Il gruppo di risorse creato in questa esercitazione dovrebbe avere questo prefisso.
- Selezionare il gruppo di risorse creato in questa esercitazione.
- Selezionare Elimina gruppo di risorse nel menu in alto.
Passaggi successivi
Per altre informazioni su MicroProfile e Azure, passare al centro di documentazione di MicroProfile in Azure.
Risorse aggiuntive
Per altre informazioni sulle varie tecnologie illustrate in questo articolo, vedere gli articoli seguenti: