Exemple de déploiement d’application Java

Effectué

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 :

Capture d’écran montrant un clic sur le déploiement local de l’exemple d’application clinique pour animaux de compagnie.

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.

Capture d’écran de l’exemple d’application de clinique d’animaux de compagnie déployé.

Félicitations! L’application est déployée avec succès sur Azure App Service.