Déployer des applications Spring Boot à l’aide de Maven
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s'applique à : ✅ Java ❎ C#
Cet article s'applique à : ✅ Basique/Standard ✅ Entreprise
Cet article vous explique comment utiliser le plug-in Maven Azure Spring Apps pour configurer et déployer des applications sur Azure Spring Apps.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Une instance Azure Spring Apps déjà provisionnée.
- JDK 8 ou JDK 11
- Apache Maven
- Azure CLI version 2.45.0 ou ultérieure avec l’extension Azure Spring Apps. Vous pouvez installer cette extension à l’aide de la commande suivante :
az extension add --name spring
.
Générer un projet Spring
Pour créer un projet Spring à utiliser dans cet article, procédez comme suit :
Accédez à Spring Initializr pour générer un exemple de projet avec des dépendances recommandées pour Azure Spring Apps. Ce lien utilise l’URL suivante pour vous fournir les paramètres par défaut.
https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
L’image suivante montre la configuration Spring Initializr recommandée pour cet échantillon de projet.
Cet exemple utilise Java version 8. Si vous souhaitez utiliser Java version 11, modifiez l’option sous les métadonnées du projet.
Sélectionnez Générer quand toutes les dépendances sont définies.
Téléchargez et décompressez le package, puis créez un contrôleur web pour une application web. Ajoutez le fichier src/main/java/com/example/hellospring/HelloController.java avec le contenu suivant :
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps!"; } }
Créer des applications Spring localement
Pour générer le projet à l’aide de Maven, exécutez les commandes suivantes :
cd hellospring
mvn clean package -DskipTests -Denv=cloud
La compilation du projet prend de quelques minutes. Une fois l’opération terminée, vous devez avoir des fichiers JAR individuels pour chaque service dans leurs dossiers respectifs.
Provisionner une instance d’Azure Spring Apps
La procédure suivante crée une instance d’Azure Spring Apps en utilisant le portail Azure.
Sous un nouvel onglet, ouvrez le portail Azure.
Dans la zone de recherche en haut, recherchez Azure Spring Apps.
Sélectionnez Azure Spring Apps dans les résultats.
Dans la page Azure Spring Apps, sélectionnez Créer.
Remplissez le formulaire dans la page Créer Azure Spring Apps. Tenez compte des recommandations suivantes :
- Abonnement: Sélectionnez l’abonnement à facturer pour cette ressource.
- Groupe de ressources : Une bonne pratique consiste à créer des groupes de ressources pour les nouvelles ressources. Vous allez utiliser ce groupe de ressources lors d’étapes ultérieures en tant que <nom du groupe de ressources>.
- Détails/Nom du service : spécifiez le <Nom de l’instance de service>. Le nom doit comporter entre 4 et 32 caractères, et contenir uniquement des lettres minuscules, des chiffres et des traits d’union. Le premier caractère du nom du service doit être une lettre, et le dernier doit être une lettre ou un chiffre.
- Emplacement : Sélectionnez la région pour votre instance de service.
Sélectionnez Examiner et créer.
Générer des configurations et déployer sur Azure Spring Apps
Pour générer des configurations et déployer l’application, procédez comme suit :
Exécutez la commande suivante à partir du dossier racine hellospring, qui contient le fichier POM. Si vous vous êtes déjà connecté avec l’interface de ligne de commande Azure, la commande sélectionne automatiquement les informations d’identification. Sinon, la commande vous invite à recevoir des instructions de connexion. Pour plus d’informations, consultez Authentication dans le référentiel azure-maven-plugins sur GitHub.
mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
Il vous sera demandé de sélectionner les éléments suivants :
- ID d’abonnement : abonnement que vous avez utilisé pour créer une instance Azure Spring Apps.
- Instance de service : nom de votre instance Azure Spring Apps.
- Nom de l’application : nom d’application de votre choix ou utilisez la valeur par défaut
artifactId
. - Point de terminaison public - True pour exposer l’application à l’accès public ; sinon, False.
Vérifiez que l’élément
appName
du fichier POM a la bonne valeur. La partie pertinente du fichier POM doit ressembler à l’exemple suivant.<build> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-spring-apps-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId> <clusterName>v-spr-cld</clusterName> <appName>hellospring</appName>
Le fichier POM contient désormais les dépendances et les configurations du plug-in.
Déployez l’application en utilisant la commande suivante.
mvn azure-spring-apps:deploy
Vérifier les services
Une fois le déploiement terminé, vous pouvez accéder à l’application sur https://<service instance name>-hellospring.azuremicroservices.io/
.
Nettoyer les ressources
Si vous prévoyez d’utiliser l’exemple d’application, vous pouvez conserver les ressources créées. Si vous n’en avez plus besoin, supprimez le groupe de ressources contenant votre instance Azure Spring Apps. Pour supprimer le groupe de ressources à l’aide d’Azure CLI, utilisez les commandes suivantes :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."