Exemple de déploiement d’application Java
Dans cette unité, vous allez configurer une application Spring Boot à déployer via Maven. Vous allez ensuite déployer l’application sur une instance Azure App Service. Cette unité montre l’exemple d’une clinique d’animaux de compagnie.
Exemple d’application
Clonez les éléments suivants dans votre outil en ligne de commande favori :
git clone https://github.com/spring-projects/spring-petclinic.git
Ensuite, exécutez l’application 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 être prêt pour le cloud
Dans le dossier src , vous trouverez des classes d’objet, de contrôleur et de référentiel.
Étant donné que Java est indépendant de la plateforme, vous êtes libre de choisir le système d’exploitation, mais la version Java est importante pour le déploiement. Vous trouverez la version Java dans le fichier pom.xml.
<properties>
<java.version>17</java.version>
</properties>
L’exemple utilise Java 8, donc notre instance Azure App Service, que ce soit Linux ou Windows, doit également utiliser Java 8. Étant donné que la plateforme n’a pas d’importance, nous allons utiliser Linux pour notre exemple.
Nous devons ajouter certaines 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 demande la spécification de certaines options. Ces options seront stockées automatiquement dans 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 voir, vous pouvez utiliser les valeurs par défaut pour un déploiement simple.
Le fichier pom.xml a maintenant ajouté le plug-in requis pour le déploiement automatique basé sur Maven à 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 sommes déjà prêts pour 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. Il fait ensuite tourner automatiquement une instance Azure App Service et déploie l’application empaquetée.
Félicitations! L’application est déployée avec succès sur Azure App Service.