Démarrage rapide : Créer une application Java dans Azure App Service

Dans ce démarrage rapide, vous utiliserez le plug-in Maven pour les applications App Service Web Apps pour déployer une application Web Java sur un serveur Linux Tomcat dans Azure App Service. App Service fournit un service d’hébergement d’applications Web hautement évolutif et auto-correctif. Utilisez les onglets pour basculer entre les instructions de Tomcat, JBoss ou du serveur intégré (Java SE).

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

Si Maven n’est pas votre outil de développement préféré, consultez nos tutoriels similaires destinés aux développeurs Java :

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

1 - Utiliser Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrer pour exécuter le code ou la commande.

2 - Créer une application Java

Exécutez la commande Maven suivante dans l’invite Cloud Shell pour créer une application nommée helloworld :

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

Ensuite, changez votre répertoire de travail vers le dossier du projet :

cd helloworld

3 - Configurer le plug-in Maven

Le processus de déploiement sur Azure App Service utilise automatiquement vos informations d’identification Azure dans Azure CLI. Si Azure CLI n’est pas installé localement, le plug-in Maven s’authentifie avec OAuth ou la connexion de l’appareil. Pour plus d’informations, consultez Authentification avec les plug-ins Maven.

Exécutez la commande Maven ci-dessous pour configurer le déploiement. Cette commande vous permet de configurer le système d’exploitation App Service, les versions de Java et Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Pour Créer une nouvelle configuration d'exécution, tapez Y, puis Entrée.

  2. Pour Define value for OS, tapez 1 pour Windows ou 2 pour Linux, puis Entrer.

  3. Pour Définir la valeur pour javaVersion, tapez 3 pour Java 17, puis Entrer.

  4. Pour Définir la valeur pour webContainer, tapez 1 pour Tomcat 10.0, puis Entrer.

  5. Pour Définir la valeur du niveau de tarification, tapez 9 pour P1v2, puis Entrer.

  6. Pour Confirmer, tapez Y, puis Entrer.

    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] ------------------------------------------------------------------------
    

Une fois que vous avez confirmé vos choix, le plug-in ajoute les paramètres requis et l’élément de plug-in ci-dessus au fichier pom.xml de votre projet, qui configurent votre application web pour qu’elle s’exécute dans Azure App Service.

La partie pertinente du fichier pom.xml doit ressembler à l’exemple suivant.

<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>           

Vous pouvez modifier les configurations d’App Service directement dans votre pom.xml. Certaines configurations courantes sont répertoriées dans le tableau suivant :

Propriété Obligatoire Description Version
<schemaVersion> false Spécifiez la version du schéma de configuration. Les valeurs prises en charge sont les suivantes : v1, v2. 1.5.2
<subscriptionId> false Spécifiez l’ID d’abonnement. 0.1.0+
<resourceGroup> true Groupe de ressources Azure pour votre application web. 0.1.0+
<appName> true Le nom de votre application web. 0.1.0+
<region> false Spécifie la région qui va héberger votre application web ; la valeur par défaut est centralus. Toutes les régions valides dans la section Régions prises en charge. 0.1.0+
<pricingTier> false Le niveau tarifaire pour votre application web. La valeur par défaut est P1v2 pour une charge de travail de production, tandis que B2 est la valeur minimale recommandée pour le développement/test Java. Pour en savoir plus, consultez Tarification d’App Service 0.1.0+
<runtime> false Configuration de l’environnement d’exécution. Pour plus d’informations, consultez Détails de configuration. 0.1.0+
<deployment> false Configuration du déploiement. Pour plus d’informations, consultez Détails de configuration. 0.1.0+

Pour obtenir la liste complète des configurations, consultez la documentation de référence sur le plug-in. Tous les plug-ins Azure Maven partagent un jeu commun de configurations. Pour ces configurations, consultez Configurations courantes. Pour les configurations spécifiques à App Service, consultez Application web Azure : détails de configuration.

Faites attention aux valeurs de <appName> et <resourceGroup> (helloworld-1690440759246 et helloworld-1690440759246-rg en conséquence dans la démo). Ils sont utilisés plus tard.

4 - Déployer l’application

Avec toute la configuration prête dans votre fichier pom.xml, vous pouvez déployer votre application Java sur Azure avec une seule commande.

mvn package azure-webapp:deploy

Une fois le déploiement terminé, votre application est prête à http://<appName>.azurewebsites.net/ (http://helloworld-1690440759246.azurewebsites.net dans la démonstration). Ouvrez l’URL avec votre navigateur web local. Vous devez voir l’écran suivant :

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

Félicitations ! Vous avez déployé votre première application Java sur App Service.

5 - Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Si vous n’avez plus besoin de ces ressources, supprimez le groupe de ressources du portail en exécutant la commande suivante dans Cloud Shell :

az group delete --name <your resource group name; for example: helloworld-1690440759246-rg> --yes

L’exécution de cette commande peut prendre une minute.

Dans ce guide de démarrage rapide, vous utilisez le plug-in Maven Maven pour Azure App Service Web Apps pour déployer une application web Java avec un serveur incorporé sur azure App Service. App Service fournit un service d’hébergement d’applications Web hautement évolutif et auto-correctif. Utilisez les onglets pour basculer entre les instructions de Tomcat, JBoss ou du serveur intégré (Java SE).

Le guide de démarrage rapide déploie une application Spring Boot, une application Tomcat incorporée ou Une application Starterus à l’aide du plug-in azure-webapp-maven-plugin .

Remarque

App Service peut héberger des applications Spring. Pour les applications Spring qui nécessitent tous les services Spring, essayez d' Azure Spring Apps à la place.

Si Maven n’est pas votre outil de développement préféré, consultez nos tutoriels similaires destinés aux développeurs Java :

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

1 - Utiliser Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrée pour exécuter le code ou la commande.

2 - Obtenir l’exemple d’application

  1. Téléchargez et extrayez le modèle d’application web Spring Boot par défaut . Ce référentiel est cloné pour vous lorsque vous exécutez la commande spring boot new my-webapp de l’interface cli Spring CLI.

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Remplacez votre répertoire de travail par le dossier du projet :

    cd my-webapp
    

3 - Configurer le plug-in Maven

Le processus de déploiement sur Azure App Service utilise automatiquement vos informations d’identification Azure dans Azure CLI. Si Azure CLI n’est pas installé localement, le plug-in Maven s’authentifie avec OAuth ou la connexion de l’appareil. Pour plus d’informations, consultez Authentification avec les plug-ins Maven.

Exécutez la commande Maven ci-dessous pour configurer le déploiement. Cette commande vous permet de configurer le système d’exploitation App Service, les versions de Java et Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config
  1. Pour Créer une nouvelle configuration d'exécution, tapez Y, puis Entrer.

  2. Pour Define value for OS, tapez 2 pour Linux, puis Entrer.

  3. Pour Définir la valeur pour javaVersion, tapez 1 pour Java 17, puis Entrer.

  4. Pour Définir la valeur du niveau de tarification, tapez 9 pour P1v2, puis Entrer.

  5. Pour Confirmer, tapez Y, puis Entrer.

    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] ------------------------------------------------------------------------
    

Après avoir confirmé vos choix, le plug-in ajoute l’élément de plug-in ci-dessus et les paramètres requis au fichier pom.xml de votre projet qui configure votre application web pour qu’elle s’exécute dans Azure App Service.

La partie pertinente du fichier pom.xml doit ressembler à l’exemple suivant.

<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>           

Vous pouvez modifier les configurations d’App Service directement dans votre pom.xml. Certaines configurations courantes sont répertoriées dans le tableau suivant :

Propriété Obligatoire Description Version
<schemaVersion> false Spécifiez la version du schéma de configuration. Les valeurs prises en charge sont les suivantes : v1, v2. 1.5.2
<subscriptionId> false Spécifiez l’ID d’abonnement. 0.1.0+
<resourceGroup> true Groupe de ressources Azure pour votre application web. 0.1.0+
<appName> true Le nom de votre application web. 0.1.0+
<region> false Spécifie la région qui va héberger votre application web ; la valeur par défaut est centralus. Toutes les régions valides dans la section Régions prises en charge. 0.1.0+
<pricingTier> false Le niveau tarifaire pour votre application web. La valeur par défaut est P1v2 pour une charge de travail de production, tandis que B2 est la valeur minimale recommandée pour le développement/test Java. Pour en savoir plus, consultez Tarification d’App Service 0.1.0+
<runtime> false Configuration de l’environnement d’exécution. Pour plus d’informations, consultez Détails de configuration. 0.1.0+
<deployment> false Configuration du déploiement. Pour plus d’informations, consultez Détails de configuration. 0.1.0+

Pour obtenir la liste complète des configurations, consultez la documentation de référence sur le plug-in. Tous les plug-ins Azure Maven partagent un jeu commun de configurations. Pour ces configurations, consultez Configurations courantes. Pour les configurations spécifiques à App Service, consultez Application web Azure : détails de configuration.

Faites attention aux valeurs de <appName> et de <resourceGroup>. Ils sont utilisés plus tard.

4 - Déployer l’application

Avec toute la configuration prête dans votre fichier pom.xml, vous pouvez déployer votre application Java sur Azure avec une seule commande.

  1. Générez le fichier JAR à l’aide de la commande suivante :

    mvn clean package
    
  2. Déployez sur Azure à l'aide de la commande suivante :

    mvn azure-webapp:deploy
    

    Si le déploiement réussit, le résultat suivant s'affiche :

    [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] ------------------------------------------------------------------------
    

Une fois le déploiement terminé, votre application est prête à http://<appName>.azurewebsites.net/. Ouvrez l’URL http://<appName>.azurewebsites.net/greeting avec votre navigateur web local (notez le chemin d’accès /greeting ), et vous devez voir :

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

Félicitations ! Vous avez déployé votre première application Java sur App Service.

5 - Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Si vous n’avez plus besoin de ces ressources, supprimez le groupe de ressources du portail en exécutant la commande suivante dans Cloud Shell :

az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes

L’exécution de cette commande peut prendre une minute.

Dans ce démarrage rapide, vous utiliserez le plug-in Maven pour les applications App Service Web Apps pour déployer une application Web Java sur un serveur Linux JBoss EAP dans Azure App Service. App Service fournit un service d’hébergement d’applications Web hautement évolutif et auto-correctif. Utilisez les onglets pour basculer entre les instructions de Tomcat, JBoss ou du serveur intégré (Java SE).

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

Si Maven n’est pas votre outil de développement préféré, consultez nos tutoriels similaires destinés aux développeurs Java :

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.

1 - Utiliser Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrer pour exécuter le code ou la commande.

2 - Créer une application Java

Clonez l’application de démonstration Pet Store.

git clone https://github.com/Azure-Samples/app-service-java-quickstart

Accédez au répertoire du projet d'animalerie terminé et construisez-le.

Conseil

L’exemple petstore-ee7 nécessite Java 11 ou ultérieur. L’exemple de projet booty-duke-app-service nécessite Java 17. Si votre installation de Java est inférieure à la version 17, exécutez la build à partir du répertoire petstore-ee7 plutôt qu’au niveau supérieur.

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

Si un message vous signale que vous allez passer à l’état detached HEAD, vous pouvez ignorer ce message sans risque. Étant donné que vous n’effectuerez aucun commit Git dans ce démarrage rapide, l’état HEAD détaché est approprié.

3 - Configurer le plug-in Maven

Le processus de déploiement sur Azure App Service utilise automatiquement vos informations d’identification Azure dans Azure CLI. Si Azure CLI n’est pas installé localement, le plug-in Maven s’authentifie avec OAuth ou la connexion de l’appareil. Pour plus d’informations, consultez Authentification avec les plug-ins Maven.

Exécutez la commande Maven ci-dessous pour configurer le déploiement. Cette commande vous permet de configurer le système d’exploitation App Service, les versions de Java et Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.12.0:config
  1. Pour Créer une nouvelle configuration d'exécution, tapez Y, puis Entrer.

  2. Pour Define value for OS, tapez 2 pour Linux, puis Entrer.

  3. Pour Définir la valeur pour javaVersion, tapez 2 pour Java 11, puis Entrer.

  4. Pour l'option webContainer, tapez 1 pour Jbosseap 7, puis Entrer.

  5. Pour Définir la valeur du niveau de tarification, tapez 1 pour P1v3, puis Entrer.

  6. Pour Confirmer, tapez Y, puis Entrer.

    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] ------------------------------------------------------------------------
    

Une fois que vous avez confirmé vos choix, le plug-in ajoute les paramètres requis et l’élément de plug-in ci-dessus au fichier pom.xml de votre projet, qui configurent votre application web pour qu’elle s’exécute dans Azure App Service.

La partie pertinente du fichier pom.xml doit ressembler à l’exemple suivant.

<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>           

Vous pouvez modifier les configurations d’App Service directement dans votre pom.xml. Certaines configurations courantes sont répertoriées dans le tableau suivant :

Propriété Obligatoire Description Version
<schemaVersion> false Spécifiez la version du schéma de configuration. Les valeurs prises en charge sont les suivantes : v1, v2. 1.5.2
<subscriptionId> false Spécifiez l’ID d’abonnement. 0.1.0+
<resourceGroup> true Groupe de ressources Azure pour votre application web. 0.1.0+
<appName> true Le nom de votre application web. 0.1.0+
<region> false Spécifie la région qui va héberger votre application web ; la valeur par défaut est centralus. Toutes les régions valides dans la section Régions prises en charge. 0.1.0+
<pricingTier> false Le niveau tarifaire pour votre application web. La valeur par défaut est P1v2 pour une charge de travail de production, tandis que B2 est la valeur minimale recommandée pour le développement/test Java. Pour en savoir plus, consultez Tarification d’App Service 0.1.0+
<runtime> false Configuration de l’environnement d’exécution. Pour plus d’informations, consultez Détails de configuration. 0.1.0+
<deployment> false Configuration du déploiement. Pour plus d’informations, consultez Détails de configuration. 0.1.0+

Pour obtenir la liste complète des configurations, consultez la documentation de référence sur le plug-in. Tous les plug-ins Azure Maven partagent un jeu commun de configurations. Pour ces configurations, consultez Configurations courantes. Pour les configurations spécifiques à App Service, consultez Application web Azure : détails de configuration.

Faites attention aux valeurs de <appName> et <resourceGroup> (petstoreee7-1690443003536 et petstoreee7-1690443003536-rg en conséquence dans la démo). Ils sont utilisés plus tard.

4 - Déployer l’application

Avec toute la configuration prête dans votre fichier pom.xml, vous pouvez déployer votre application Java sur Azure avec une seule commande.

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

Une fois le déploiement terminé, votre application est prête à http://<appName>.azurewebsites.net/ (http://petstoreee7-1690443003536.azurewebsites.net dans la démonstration). Ouvrez l’URL avec votre navigateur web local. Vous devez voir l’écran suivant :

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

Félicitations ! Vous avez déployé votre première application Java sur App Service.

5 - Nettoyer les ressources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. Si vous n’avez plus besoin de ces ressources, supprimez le groupe de ressources du portail en exécutant la commande suivante dans Cloud Shell :

az group delete --name <your resource group name; for example: petstoreee7-1690443003536-rg> --yes

L’exécution de cette commande peut prendre une minute.

Étapes suivantes