Exemple de déploiement d’application Java

Effectué

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 :

Screenshot that shows clicking through the local deployment of the example pet clinic application.

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.

Screenshot of the deployed example pet clinic application.

Félicitations ! L’application est correctement déployée sur Azure App Service.