Exemple de déploiement d’application Java
Dans cette unité, vous allez configurer une application Spring Boot pour qu’elle soit déployée via Maven. Vous allez ensuite déployer l’application sur une instance Azure App Service. Cette unité prend comme exemple une clinique vétérinaire.
Exemple d’application
Clonez-le dans votre outil en ligne de commande favori.
git clone https://github.com/spring-projects/spring-petclinic.git
Ensuite, exécutez-le localement.
cd spring-petclinic
./mvnw package
java -jar target/*.jar
Lorsque vous ouvrez l’exemple dans le navigateur, il doit ressembler à ceci :
Préparer l’exemple d’application pour le cloud
Dans le dossier src, vous trouverez des classes d’objet, de contrôleur et de référentiel.
Java étant indépendant de la plateforme, vous êtes libre de choisir le système d’exploitation, mais la version de Java est importante pour le déploiement. La version de Java se trouve dans le fichier pom.xml.
<properties>
<java.version>17</java.version>
</properties>
L’exemple utilise Java 8. Par conséquent, notre instance Azure App Service, qu’elle se trouve sur Linux ou Windows, doit également utiliser Java 8. Comme la plateforme n’a pas d’importance, nous allons utiliser Linux dans notre exemple.
Nous devons ajouter des dépendances Azure au fichier pom.xml. L’ajout des dépendances peut se produire automatiquement si vous exécutez la commande suivante :
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config
La sortie de cette commande vous demande de spécifier des options. Ces options seront stockées automatiquement dans le fichier pom.xml.
Please choose which part to config:
* 1: Application
2: Runtime
3: DeploymentSlot
Enter your choice: 1
Define value for appName [spring-petclinic-XXXX200]:
Define value for resourceGroup [spring-petclinic-XXXX200-rg]:
Define value for region [westeurope]:
Define value for pricingTier(P1v2):
1: b1
2: b2
3: b3
4: d1
5: f1
* 6: p1v2
7: p2v2
8: p3v2
9: s1
10: s2
11: s3
Enter your choice: 1
Please confirm webapp properties
AppName : spring-petclinic-XXXX200
ResourceGroup : spring-petclinic-XXXX200-rg
Region : westeurope
PricingTier : Basic_B2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N) [Y]: y
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
Comme vous pouvez le constater, il est possible d’utiliser les valeurs par défaut pour un déploiement simple.
Le fichier pom.xml a maintenant ajouté le plug-in nécessaire au déploiement Maven automatique sur Azure.
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>2.11.1</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<subscriptionId>XXX-XXX-XXX</subscriptionId>
<resourceGroup>spring-petclinic-XXX200-rg</resourceGroup>
<appName>spring-petclinic-XXX200</appName>
<pricingTier>B2</pricingTier>
<region>westeurope</region>
<runtime>
<os>linux</os>
<javaVersion>jre8</javaVersion>
<webContainer>jre8</webContainer>
</runtime>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
Déployer l’application avec Maven
Nous avons déjà préparé le déploiement sur Azure App Service.
mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy
Cette commande exécute les tests. Elle crée ensuite automatiquement une instance Azure App Service et déploie l’application empaquetée.
Félicitations ! L’application est correctement déployée sur Azure App Service.