Déployer votre application web sur Azure App Service

Effectué

azure-webapp-maven-plugin a deux objectifs pour les développeurs Java : le premier consiste à faciliter la gestion et la configuration du plug-in Azure App Service, et le second consiste à simplifier le déploiement des projets Maven sur Azure App Service. Dans l’exercice précédent, vous avez créé un exemple rapide d’application web Java « Hello World » et vous l’avez testé localement. L’ajout du plug-in Maven pour Azure App Service à votre projet vous permet de déployer votre application sur Azure App Service.

Dans cette unité, vous allez examiner les options permettant à votre entreprise d’héberger ses applications sur Azure App Service, puis vous allez apprendre à ajouter et à configurer l’application azure-webapp-maven-plugin à votre projet Maven.

Présentation d’Azure App Service

Azure App Service vous permet d’héberger les sites web, les applications web, les API REST et tout autre code d’application de votre entreprise sur Azure. Votre code de projet s’exécute dans le cloud ; vous n’avez pas besoin de provisionner ou de configurer d’infrastructure. L’exécution de votre application web dans Azure App Service vous procure tous les avantages offerts par l’exécution sur Azure : votre application est disponible dans le monde entier, elle est mise à l’échelle automatiquement, disposer d’une sécurité et d’une conformité intégrées, et vous payez uniquement pour les ressources que vous utilisez.

Azure App Service prend en charge plusieurs langages de programmation, ce qui permet aux développeurs de continuer à écrire leurs applications à l’aide des langages avec lesquels ils sont le plus à l’aise. Java est un citoyen de première classe, tout comme d’autres langages tels que .NET Core, Python, Node.js, et ainsi de suite. Vous pouvez héberger les applications web que vous créez sur Linux, Windows ou à l’intérieur d’un conteneur Docker. Avant de déployer votre application web sur Azure, vous allez créer un plan App Service sur Azure qui spécifie le système d’exploitation et le niveau tarifaire, qui détermine la taille des ressources de calcul provisionnées dont votre application a besoin.

Flux de travail Maven

Maven a trois cycles de vie intégrés pour la génération de projets : default, clean et site, où le cycle de vie default inclut les phases suivantes :

Phase Description
compile Compile votre code
package Empaquette votre code dans un fichier JAR ou WAR
install Installe le package dans votre référentiel local
deploy Copie le package final dans votre référentiel distant

Toutefois, lors de l’utilisation du plug-in Maven pour Azure App Service, vous n’utiliserez pas la phase de déploiement incluse dans le cycle de vie default de Maven. Au lieu de cela, vous déploierez votre application sur Azure avec la commande mvn azure-webapp:deploy.

Ajout du plug-in Maven pour Azure App Service à votre projet

Pour ajouter le plug-in Maven pour Azure App Service à votre application web, vous devez ajouter le code XML pour azure-webapp-maven-plugin au fichier pom.xml de votre projet de la manière suivante :

<plugin>
  <groupId>com.microsoft.azure</groupId>
  <artifactId>azure-webapp-maven-plugin</artifactId>
  <version>2.13.0</version>
</plugin>

Toutefois, ce plug-in offre un moyen pratique et interactif d’ajouter des configurations à votre fichier POM :

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.13.0:config

Le plug-in vous invite à entrer les informations requises pour configurer le plan App Service. Une fois que vous avez confirmé vos choix, le plug-in ajoute les paramètres requis et l’élément de plug-in ci-dessus au fichier pom.xml de votre projet, qui configure votre application web pour qu’elle s’exécute dans Azure App Service.

Remarque

Pour plus d’informations sur la version la plus récente du plug-in Maven, consultez la documentation du plug-in Maven pour Azure App Service ou le Référentiel central Maven.

Options de configuration

La section précédente de cette unité a montré comment utiliser le plug-in Maven pour Azure App Service de manière interactive pour configurer votre application web. Toutefois, vous n’avez pas besoin d’exécuter la configuration de manière interactive. Si vous le souhaitez, vous pouvez ajouter manuellement le fichier XML du plug-in au fichier pom.xml de votre projet.

L’extrait de fichier pom.xml annoté suivant illustre certains des paramètres requis :

<plugin> 
  <groupId>com.microsoft.azure</groupId>  
  <artifactId>azure-webapp-maven-plugin</artifactId>  
  <version>2.13.0</version>  
  <configuration> 
    <schemaVersion>v2</schemaVersion>  
    <subscriptionId>aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e</subscriptionId>  
    <resourceGroup>learn-9c627899-58ae-4ef5-9630-3336ec7bce0c</resourceGroup>  
    <appName>MyWebApp-1610102860270</appName>  
    <pricingTier>S1</pricingTier>  
    <region>westus</region>  
    <runtime> 
      <os>Linux</os>  
      <javaVersion>Java 17</javaVersion>  
      <webContainer>Tomcat 10.0</webContainer> 
    </runtime>  
    <deployment> 
      <resources> 
        <resource> 
          <directory>${project.basedir}/target</directory>  
          <includes> 
            <include>*.war</include> 
          </includes> 
        </resource> 
      </resources> 
    </deployment> 
  </configuration> 
</plugin> 

Certaines des options de configuration pertinentes sont répertoriées dans le tableau suivant. Pour obtenir la liste complète des options, consultez la documentation du plug-in Maven pour Azure App Service.

Étiquette Options
<javaVersion> Linux prend en charge les versions 8, 11 et 17
Windows prend en charge les versions 8, 11 et 17
<webContainer> Linux prend en charge Tomcat, JBoss EAP 7.2 et Java SE
Windows prend en charge Tomcat et Java SE
<resource> Spécifie l’emplacement du fichier WAR ou JAR dans le projet

Options de déploiement

Si vous avez déjà créé un plan App Service, vous pouvez spécifier les paramètres de ce plan dans votre fichier pom.xml. Quand vous déployez votre application web sur Azure, Maven utilise ces paramètres pour déployer votre nouvelle application dans le plan App Service existant.

<!-- Deploy Web App to the existing App Service Plan -->
<appServicePlanResourceGroup>${PLAN_RESOURCEGROUP_NAME}</appServicePlanResourceGroup>
<appServicePlanName>${PLAN_NAME}</appServicePlanName>

Une autre option consiste à autoriser azure-webapp-maven-plugin à créer le plan App Service pour vous quand vous configurez le plug-in de manière interactive. Cette option est le comportement par défaut du plug-in si vous ne spécifiez pas de plan App Service existant dans votre fichier pom.xml.

Que vous choisissiez de créer le plan App Service de manière interactive ou manuelle, vous utilisez la même commande Maven pour déployer votre code d’application sur Azure :

mvn package azure-webapp:deploy

Dans l’exercice suivant, vous allez déployer votre application web sur Azure App Service.