Avvio rapido: Creare un'app Java nel Servizio app di Azure
In questa guida introduttiva si userà il plug-in Maven per app Web del Servizio app di Azure per distribuire un'applicazione Web Java in un server Tomcat Linux nel Servizio app di Azure. Il Servizio app offre un servizio di hosting di app Web con scalabilità elevata e con applicazione automatica delle patch. Usare le schede per spostarsi tra le istruzioni per Tomcat, JBoss o il server incorporato (Java SE).
Se Maven non è lo strumento di sviluppo preferito, vedere le esercitazioni simili per sviluppatori Java:
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
1 - Usare Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Premere Invio per eseguire il codice o il comando.
2 - Creare un'app Java
Eseguire il comando Maven seguente nel prompt di Cloud Shell per creare una nuova app denominata helloworld
:
mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"
Passare quindi dalla directory di lavoro alla cartella del progetto:
cd helloworld
3 - Configurare il plug-in Maven
Il processo di distribuzione nel Servizio app di Azure usa automaticamente le credenziali di Azure dall'interfaccia della riga di comando di Azure. Se l'interfaccia della riga di comando di Azure non è installata in locale, il plug-in Maven esegue l'autenticazione con OAuth o con l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.
Eseguire il comando Maven mostrato di seguito per configurare la distribuzione. Questo comando consente di configurare il sistema operativo del Servizio app, la versione di Java e la versione di Tomcat.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
Per Create new run configuration digitare Y, quindi premere INVIO.
Per Define value for OS digitare 1 per Windows o 2 per Linux, quindi premere INVIO.
Per Define value for javaVersion digitare 1 per Java 17, quindi premere INVIO.
Per Define value for webContainer digitare 1 per Tomcat 10.0, quindi premere INVIO.
Per Definisci valore per pricingTier digitare 3 per P1v2 e quindi immettere.
Per Confirm digitare Y, quindi premere INVIO.
Please confirm webapp properties AppName : helloworld-1690440759246 ResourceGroup : helloworld-1690440759246-rg Region : centralus PricingTier : P1v2 OS : Linux Java Version: Java 17 Web server stack: Tomcat 10.0 Deploy to slot : false Confirm (Y/N) [Y]: [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13.069 s [INFO] Finished at: 2023-07-27T06:52:48Z [INFO] ------------------------------------------------------------------------
Dopo che le scelte sono state confermate, il plug-in aggiunge l'elemento plug-in precedente e le impostazioni necessarie al file pom.xml
del progetto che configura l'app Web per l'esecuzione in Servizio app di Azure.
La parte pertinente del file pom.xml
dovrebbe essere simile all'esempio seguente.
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
È possibile modificare le configurazioni per il Servizio app direttamente nel file pom.xml
. Alcune configurazioni comuni sono elencate nella tabella seguente:
Proprietà | Richiesto | Descrizione | Versione |
---|---|---|---|
<schemaVersion> |
false | Specificare la versione dello schema di configurazione. I valori supportati sono: v1 , v2 . |
1.5.2 |
<subscriptionId> |
false | Specifica l'ID sottoscrizione. | 0.1.0+ |
<resourceGroup> |
true | Gruppo di risorse di Azure per App Web. | 0.1.0+ |
<appName> |
true | Nome dell'App Web. | 0.1.0+ |
<region> |
false | Specifica l'area in cui ospitare l'app Web. Il valore predefinito è centralus. Le aree valide sono disponibili nella sezione Aree supportate. | 0.1.0+ |
<pricingTier> |
false | Il piano tariffario per l'App Web. Il valore predefinito è P1v2 per il carico di lavoro di produzione, mentre B2 è il valore minimo consigliato per le attività di sviluppo/test Java. Per altre informazioni, vedere Prezzi del Servizio app | 0.1.0+ |
<runtime> |
false | Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
<deployment> |
false | Configurazione della distribuzione. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
Per l'elenco completo delle configurazioni, vedere la documentazione di riferimento sul plug-in. Tutti i plug-in Azure Maven condividono un set comune di configurazioni. Per informazioni, vedere Configurazioni comuni. Per le configurazioni specifiche del servizio app, vedere App Web di Azure: dettagli sulla configurazione.
Prestare attenzione ai valori di <appName>
e <resourceGroup>
(quindi di helloworld-1690440759246
e helloworld-1690440759246-rg
nella demo). Vengono usati in un secondo momento.
4 - Distribuire l'app
Quando tutta la configurazione è pronta nel file pom.xml, è possibile distribuire l'app Java in Azure con un unico comando.
mvn package azure-webapp:deploy
Al termine della distribuzione, l'applicazione è pronta all'indirizzo http://<appName>.azurewebsites.net/
(http://helloworld-1690440759246.azurewebsites.net
nella demo). Aprire l'URL con il Web browser locale. Si dovrebbe vedere
Complimenti. La distribuzione della prima app Java nel servizio app è stata completata.
5 - Eseguire la pulizia delle risorse
Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se queste risorse non saranno necessarie in futuro, eliminare il gruppo di risorse dal portale oppure eseguire questo comando in Cloud Shell:
az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes
L'esecuzione del comando può richiedere un minuto.
In questa guida introduttiva si usa il plug-in Maven per app Web del Servizio app di Azure per distribuire un'applicazione Web Java con un server incorporato nel Servizio app di Azure. Il Servizio app offre un servizio di hosting di app Web con scalabilità elevata e con applicazione automatica delle patch. Usare le schede per spostarsi tra le istruzioni per Tomcat, JBoss o il server incorporato (Java SE).
La guida introduttiva distribuisce un'app Spring Boot, un'app Tomcat incorporata o un'app Quarkus usando il plug-in azure-webapp-maven-plugin.
Nota
Il Servizio app può ospitare app Spring. Per le app Spring che richiedono tutti i servizi Spring, provare invece Azure Spring Apps.
Se Maven non è lo strumento di sviluppo preferito, vedere le esercitazioni simili per sviluppatori Java:
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
1 - Usare Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Premere Invio per eseguire il codice o il comando.
2 - Ottenere l'app di esempio
Scaricare ed estrarre il modello di applicazione Web Spring Boot predefinito. Questo repository viene clonato automaticamente quando si esegue in Spring CLI il comando
spring boot new my-webapp
.git clone https://github.com/rd-1-2022/rest-service my-webapp
Modificare la directory di lavoro nella cartella del progetto:
cd my-webapp
3 - Configurare il plug-in Maven
Il processo di distribuzione nel Servizio app di Azure usa automaticamente le credenziali di Azure dall'interfaccia della riga di comando di Azure. Se l'interfaccia della riga di comando di Azure non è installata in locale, il plug-in Maven esegue l'autenticazione con OAuth o con l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.
Eseguire il comando Maven mostrato di seguito per configurare la distribuzione. Questo comando consente di configurare il sistema operativo del Servizio app, la versione di Java e la versione di Tomcat.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
Per Create new run configuration digitare Y, quindi premere INVIO.
Per Define value for OS digitare 2 per Linux, quindi premere INVIO.
Per Define value for javaVersion digitare 1 per Java 17, quindi premere INVIO.
Per Definisci valore per pricingTier digitare 3 per P1v2 e quindi immettere.
Per Confirm digitare Y, quindi premere INVIO.
Please confirm webapp properties AppName : <generated-app-name> ResourceGroup : <generated-app-name>-rg Region : centralus PricingTier : P1v2 OS : Linux Java Version: Java 17 Web server stack: Java SE Deploy to slot : false Confirm (Y/N) [Y]: y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8.139 s [INFO] Finished at: 2023-07-26T12:42:48Z [INFO] ------------------------------------------------------------------------
Dopo la conferma delle opzioni scelte, il plug-in aggiunge l'elemento plug-in precedente e le impostazioni necessarie al file pom.xml
del progetto che configura l'app Web per l'esecuzione nel Servizio app di Azure.
La parte pertinente del file pom.xml
dovrebbe essere simile all'esempio seguente.
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
È possibile modificare le configurazioni per il Servizio app direttamente nel file pom.xml
. Alcune configurazioni comuni sono elencate nella tabella seguente:
Proprietà | Richiesto | Descrizione | Versione |
---|---|---|---|
<schemaVersion> |
false | Specificare la versione dello schema di configurazione. I valori supportati sono: v1 , v2 . |
1.5.2 |
<subscriptionId> |
false | Specifica l'ID sottoscrizione. | 0.1.0+ |
<resourceGroup> |
true | Gruppo di risorse di Azure per App Web. | 0.1.0+ |
<appName> |
true | Nome dell'App Web. | 0.1.0+ |
<region> |
false | Specifica l'area in cui ospitare l'app Web. Il valore predefinito è centralus. Le aree valide sono disponibili nella sezione Aree supportate. | 0.1.0+ |
<pricingTier> |
false | Il piano tariffario per l'App Web. Il valore predefinito è P1v2 per il carico di lavoro di produzione, mentre B2 è il valore minimo consigliato per le attività di sviluppo/test Java. Per altre informazioni, vedere Prezzi del Servizio app | 0.1.0+ |
<runtime> |
false | Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
<deployment> |
false | Configurazione della distribuzione. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
Per l'elenco completo delle configurazioni, vedere la documentazione di riferimento sul plug-in. Tutti i plug-in Azure Maven condividono un set comune di configurazioni. Per informazioni, vedere Configurazioni comuni. Per le configurazioni specifiche del servizio app, vedere App Web di Azure: dettagli sulla configurazione.
Prestare attenzione ai valori di <appName>
e <resourceGroup>
. Vengono usati in un secondo momento.
4 - Distribuire l'app
Quando tutta la configurazione è pronta nel file pom.xml, è possibile distribuire l'app Java in Azure con un unico comando.
Compilare il file JAR usando il comando seguente:
mvn clean package
Eseguire la distribuzione in Azure usando il comando seguente:
mvn azure-webapp:deploy
Se la distribuzione ha esito positivo, viene visualizzato l'output seguente:
[INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:20 min [INFO] Finished at: 2023-07-26T12:47:50Z [INFO] ------------------------------------------------------------------------
Al termine della distribuzione, l'applicazione è pronta all'indirizzo http://<appName>.azurewebsites.net/
. Aprire l'URL http://<appName>.azurewebsites.net/greeting
con il Web browser locale (si noti l percorso /greeting
). Dovrebbe essere visualizzato quanto segue:
Complimenti. La distribuzione della prima app Java nel Servizio app è stata completata.
5 - Eseguire la pulizia delle risorse
Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se queste risorse non saranno necessarie in futuro, eliminare il gruppo di risorse dal portale oppure eseguire questo comando in Cloud Shell:
az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes
L'esecuzione del comando può richiedere un minuto.
In questa guida introduttiva si userà il plug-in Maven per app Web del Servizio app di Azure per distribuire un'applicazione Web Java in un server JBoss EAP Linux nel Servizio app di Azure. Il Servizio app offre un servizio di hosting di app Web con scalabilità elevata e con applicazione automatica delle patch. Usare le schede per spostarsi tra le istruzioni per Tomcat, JBoss o il server incorporato (Java SE).
Se Maven non è lo strumento di sviluppo preferito, vedere le esercitazioni simili per sviluppatori Java:
Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
1 - Usare Azure Cloud Shell
Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.
Per avviare Azure Cloud Shell:
Opzione | Esempio/Collegamento |
---|---|
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. | |
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. | |
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. |
Per usare Azure Cloud Shell:
Avviare Cloud Shell.
Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) per copiare il codice o il comando.
Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux o selezionando CMD+MAIUSC+V in macOS.
Premere Invio per eseguire il codice o il comando.
2 - Creare un'app Java
Clonare l'applicazione demo Pet Store.
git clone https://github.com/Azure-Samples/app-service-java-quickstart
Passare alla directory del progetto Pet Store completato e compilarlo.
Suggerimento
L'esempio petstore-ee7
richiede Java 11 o versione successiva. Il progetto di esempio booty-duke-app-service
richiede Java 17. Se la versione installata di Java è minore di 17, eseguire la compilazione dall'interno della directory petstore-ee7
anziché al livello superiore.
cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install
Se visualizzi un messaggio relativo allo stato HEAD scollegato, questo messaggio è sicuro da ignorare. Poiché non si eseguirà alcun commit Git in questa guida introduttiva, lo stato HEAD scollegato è appropriato.
3 - Configurare il plug-in Maven
Il processo di distribuzione nel Servizio app di Azure usa automaticamente le credenziali di Azure dall'interfaccia della riga di comando di Azure. Se l'interfaccia della riga di comando di Azure non è installata in locale, il plug-in Maven esegue l'autenticazione con OAuth o con l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.
Eseguire il comando Maven mostrato di seguito per configurare la distribuzione. Questo comando consente di configurare il sistema operativo del Servizio app, la versione di Java e la versione di Tomcat.
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
Per Create new run configuration digitare Y, quindi premere INVIO.
Per Define value for OS digitare 2 per Linux, quindi premere INVIO.
Per Define value for javaVersion digitare 2 per Java 11, quindi premere INVIO.
Per l'opzione webContainer digitare 4 per Jbosseap 7, quindi invio.
Per Define value for pricingTier digitare 1 per P1v3, quindi premere INVIO.
Per Confirm digitare Y, quindi premere INVIO.
Please confirm webapp properties AppName : petstoreee7-1690443003536 ResourceGroup : petstoreee7-1690443003536-rg Region : centralus PricingTier : P1v3 OS : Linux Java Version: Java 11 Web server stack: Jbosseap 7 Deploy to slot : false Confirm (Y/N) [Y]: [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 19.914 s [INFO] Finished at: 2023-07-27T07:30:20Z [INFO] ------------------------------------------------------------------------
Dopo che le scelte sono state confermate, il plug-in aggiunge l'elemento plug-in precedente e le impostazioni necessarie al file pom.xml
del progetto che configura l'app Web per l'esecuzione in Servizio app di Azure.
La parte pertinente del file pom.xml
dovrebbe essere simile all'esempio seguente.
<build>
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>>azure-webapp-maven-plugin</artifactId>
<version>x.xx.x</version>
<configuration>
<schemaVersion>v2</schemaVersion>
<resourceGroup>your-resourcegroup-name</resourceGroup>
<appName>your-app-name</appName>
...
</configuration>
</plugin>
</plugins>
</build>
È possibile modificare le configurazioni per il Servizio app direttamente nel file pom.xml
. Alcune configurazioni comuni sono elencate nella tabella seguente:
Proprietà | Richiesto | Descrizione | Versione |
---|---|---|---|
<schemaVersion> |
false | Specificare la versione dello schema di configurazione. I valori supportati sono: v1 , v2 . |
1.5.2 |
<subscriptionId> |
false | Specifica l'ID sottoscrizione. | 0.1.0+ |
<resourceGroup> |
true | Gruppo di risorse di Azure per App Web. | 0.1.0+ |
<appName> |
true | Nome dell'App Web. | 0.1.0+ |
<region> |
false | Specifica l'area in cui ospitare l'app Web. Il valore predefinito è centralus. Le aree valide sono disponibili nella sezione Aree supportate. | 0.1.0+ |
<pricingTier> |
false | Il piano tariffario per l'App Web. Il valore predefinito è P1v2 per il carico di lavoro di produzione, mentre B2 è il valore minimo consigliato per le attività di sviluppo/test Java. Per altre informazioni, vedere Prezzi del Servizio app | 0.1.0+ |
<runtime> |
false | Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
<deployment> |
false | Configurazione della distribuzione. Per altre informazioni, vedere Dettagli della configurazione. | 0.1.0+ |
Per l'elenco completo delle configurazioni, vedere la documentazione di riferimento sul plug-in. Tutti i plug-in Azure Maven condividono un set comune di configurazioni. Per informazioni, vedere Configurazioni comuni. Per le configurazioni specifiche del servizio app, vedere App Web di Azure: dettagli sulla configurazione.
Prestare attenzione ai valori di <appName>
e <resourceGroup>
(quindi di petstoreee7-1690443003536
e petstoreee7-1690443003536-rg
nella demo). Vengono usati in un secondo momento.
4 - Distribuire l'app
Quando tutta la configurazione è pronta nel file pom.xml, è possibile distribuire l'app Java in Azure con un unico comando.
# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests
Al termine della distribuzione, l'applicazione è pronta all'indirizzo http://<appName>.azurewebsites.net/
(http://petstoreee7-1690443003536.azurewebsites.net
nella demo). Aprire l'URL con il Web browser locale. Si dovrebbe vedere
Complimenti. La distribuzione della prima app Java nel servizio app è stata completata.
5 - Eseguire la pulizia delle risorse
Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se queste risorse non saranno necessarie in futuro, eliminare il gruppo di risorse dal portale oppure eseguire questo comando in Cloud Shell:
az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes
L'esecuzione del comando può richiedere un minuto.