Guida introduttiva: Creare un'app Java nel servizio app Azure

In questa guida introduttiva si userà il plug-in Maven per app Azure Servizio App Web per distribuire un'applicazione Web Java in un server Tomcat Linux in app Azure Service. servizio app offre un servizio di hosting di app Web altamente scalabile e auto-patch. Usare le schede per passare dalle istruzioni tomcat, JBoss o server incorporato (java edizione Standard).

Screenshot of Maven Hello World web app running in Azure App Service.

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 in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare 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 per app Azure Servizio 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 l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.

Eseguire il comando Maven visualizzato accanto per configurare la distribuzione. Questo comando consente di configurare il sistema operativo servizio app, la versione Java e la versione di Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Per Crea nuova configurazione di esecuzione digitare Y, quindi Invio.

  2. Per Definisci valore per il sistema operativo, digitare 1 per Windows o 2 per Linux, quindi immettere.

  3. Per Definisci valore per javaVersion, digitare 3 per Java 17, quindi immettere.

  4. Per Definisci valore per webContainer, digitare 1 per Tomcat 10.0, quindi invio.

  5. Per Definisci valore per pricingTier digitare 9 per P1v2, quindi immettere.

  6. Per Conferma digitare Y, quindi 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 pom.xml file 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 servizio app direttamente in 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 Specificare 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 minimo consigliato per lo sviluppo/test Java. Per altre informazioni, vedere Prezzi di servizio app 0.1.0+
<runtime> false Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli di configurazione. 0.1.0+
<deployment> false Configurazione della distribuzione. Per altre informazioni, vedere Dettagli di 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> (helloworld-1690440759246 e helloworld-1690440759246-rg di conseguenza nella demo). Vengono usati in un secondo momento.

4 - Distribuire l'app

Con tutta la configurazione pronta nel file pom.xml , è possibile distribuire l'app Java in Azure con un singolo comando.

mvn package azure-webapp:deploy

Al termine della distribuzione, l'applicazione è pronta in http://<appName>.azurewebsites.net/ (http://helloworld-1690440759246.azurewebsites.net nella demo). Aprire l'URL con il Web browser locale. Si dovrebbe vedere

Screenshot of Maven Hello World web app running in Azure App Service.

Complimenti. La distribuzione della prima app Java nel servizio app è stata completata.

5 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se le risorse non sono necessarie in futuro, eliminare il gruppo di risorse dal portale o eseguendo il comando seguente 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 userà il plug-in Maven per app Azure Service App Web per distribuire un'applicazione Web Java con un server incorporato in app Azure Servizio. servizio app offre un servizio di hosting di app Web altamente scalabile e auto-patch. Usare le schede per passare dalle istruzioni tomcat, JBoss o server incorporato (java edizione Standard).

La guida introduttiva distribuisce un'app Spring Boot, un'app Tomcat incorporata o Quarkus usando il plug-in azure-webapp-maven-plugin .

Nota

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 in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

2 - Ottenere l'app di esempio

  1. Scaricare ed estrarre il modello di applicazione Web Spring Boot predefinito. Questo repository viene clonato quando si esegue il comando spring boot new my-webappSpring CLI .

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Modificare la directory di lavoro nella cartella del progetto:

    cd my-webapp
    

3 - Configurare il plug-in Maven

Il processo di distribuzione per app Azure Servizio 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 l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.

Eseguire il comando Maven visualizzato accanto per configurare la distribuzione. Questo comando consente di configurare il sistema operativo servizio app, la versione Java e la versione di Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
  1. Per Crea nuova configurazione di esecuzione digitare Y, quindi Invio.

  2. Per Definisci valore per il sistema operativo digitare 2 per Linux, quindi immettere.

  3. Per Definisci valore per javaVersion, digitare 1 per Java 17 e quindi immettere.

  4. Per Definisci valore per pricingTier digitare 9 per P1v2, quindi immettere.

  5. Per Conferma digitare Y, quindi 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 aver verificato le scelte, il plug-in aggiunge l'elemento plug-in precedente e le impostazioni necessarie al file del pom.xml progetto che configura l'app Web per l'esecuzione in app Azure Servizio.

La parte pertinente del pom.xml file 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 servizio app direttamente in 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 Specificare 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 minimo consigliato per lo sviluppo/test Java. Per altre informazioni, vedere Prezzi di servizio app 0.1.0+
<runtime> false Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli di configurazione. 0.1.0+
<deployment> false Configurazione della distribuzione. Per altre informazioni, vedere Dettagli di 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

Con tutta la configurazione pronta nel file pom.xml , è possibile distribuire l'app Java in Azure con un singolo comando.

  1. Compilare il file JAR usando il comando seguente:

    mvn clean package
    
  2. 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 in http://<appName>.azurewebsites.net/. Aprire l'URL http://<appName>.azurewebsites.net/greeting con il Web browser locale (prendere nota del /greeting percorso) e dovrebbe essere visualizzato:

Screenshot of Spring Boot Hello World web app running in Azure App Service.

Complimenti. La prima app Java è stata distribuita in servizio app.

5 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se le risorse non sono necessarie in futuro, eliminare il gruppo di risorse dal portale o eseguendo il comando seguente 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 Azure Service App Web per distribuire un'applicazione Web Java in un server JBoss EAP Linux in app Azure Service. servizio app offre un servizio di hosting di app Web altamente scalabile e auto-patch. Usare le schede per passare dalle istruzioni tomcat, JBoss o server incorporato (java edizione Standard).

Screenshot of Maven Hello World web app running in Azure App Service.

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 in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare 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 di archivio per animali domestici completato e compilarla.

Suggerimento

L'esempio petstore-ee7 richiede Java 11 o versione successiva. Il booty-duke-app-service progetto di esempio richiede Java 17. Se la versione installata di Java è minore di 17, eseguire la compilazione dall'interno della petstore-ee7 directory, anziché al livello principale.

cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install

Se viene visualizzato un messaggio relativo allo stato HEAD scollegato, questo messaggio è sicuro da ignorare. Poiché non si eseguirà alcun commit Git in questo argomento di avvio rapido, lo stato HEAD scollegato è appropriato.

3 - Configurare il plug-in Maven

Il processo di distribuzione per app Azure Servizio 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 l'accesso del dispositivo. Per altre informazioni, vedere Autenticazione con i plug-in Maven.

Eseguire il comando Maven visualizzato accanto per configurare la distribuzione. Questo comando consente di configurare il sistema operativo servizio app, la versione Java e la versione di Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Per Crea nuova configurazione di esecuzione digitare Y, quindi Invio.

  2. Per Definisci valore per il sistema operativo digitare 2 per Linux, quindi immettere.

  3. Per Define value for javaVersion (Definisci valore per javaVersion), digitare 2 per Java 11 e quindi invio.

  4. Per l'opzione webContainer digitare 1 per Jbosseap 7, quindi invio.

  5. Per Definisci valore per pricingTier digitare 1 per P1v3, quindi immettere.

  6. Per Conferma digitare Y, quindi 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 pom.xml file 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 servizio app direttamente in 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 Specificare 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 minimo consigliato per lo sviluppo/test Java. Per altre informazioni, vedere Prezzi di servizio app 0.1.0+
<runtime> false Configurazione dell'ambiente di runtime. Per altre informazioni, vedere Dettagli di configurazione. 0.1.0+
<deployment> false Configurazione della distribuzione. Per altre informazioni, vedere Dettagli di 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> (petstoreee7-1690443003536 e petstoreee7-1690443003536-rg di conseguenza nella demo). Vengono usati in un secondo momento.

4 - Distribuire l'app

Con tutta la configurazione pronta nel file pom.xml , è possibile distribuire l'app Java in Azure con un singolo comando.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

Al termine della distribuzione, l'applicazione è pronta in http://<appName>.azurewebsites.net/ (http://petstoreee7-1690443003536.azurewebsites.net nella demo). Aprire l'URL con il Web browser locale. Si dovrebbe vedere

Screenshot of Maven Hello World web app running in Azure App Service.

Complimenti. La distribuzione della prima app Java nel servizio app è stata completata.

5 - Pulire le risorse

Nei passaggi precedenti sono state create risorse di Azure in un gruppo di risorse. Se le risorse non sono necessarie in futuro, eliminare il gruppo di risorse dal portale o eseguendo il comando seguente 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.

Passaggi successivi