Partager via


Déployer une application web Payara Micro sur Azure App Service avec Maven

Dans ce guide de démarrage rapide, vous allez utiliser le plug-in Maven pour Azure App Service Web Apps afin de déployer une application Payara Micro dans Azure App Service sur Linux. Choisissez le déploiement Java SE sur les fichiers Tomcat et WAR lorsque vous voulez consolider les dépendances de vos applications, ainsi que leur runtime et leur configuration dans un seul artefact déployable.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

Conditions préalables

Se connecter à Azure CLI

Le moyen le plus simple et le plus simple d’obtenir le plug-in Maven déployant votre application Payara Micro consiste à utiliser la Azure CLI.

Connectez-vous à votre compte Azure à l’aide d’Azure CLI :

az login

Suivez les instructions pour terminer le processus de connexion.

Créer un exemple d’application à partir de MicroProfile Starter

Dans cette section, vous allez créer une application Payara Micro et la tester localement.

  1. Ouvrez un navigateur web et accédez au site MicroProfile Starter.

    Capture d’écran montrant MicroProfile Starter avec payara Micro runtime sélectionné.

  2. Entrez ou sélectionnez les valeurs de champ en fonction du tableau suivant :

    Champ Valeur
    groupId com.microsoft.azure.samples.payaramicro
    identifiant d'artéfact payaramicro-hello-azure
    Version de MicroProfile MP 3.2
    Version Java SE Java 11
    MicroProfile Runtime PayaraMicro
    Exemples de spécifications Métriques, OpenAPI
  3. Sélectionnez TÉLÉCHARGER pour télécharger le projet.

  4. Décompressez le fichier d’archive à l’aide de la commande suivante :

    unzip payaraMicro-hello-azure.zip
    

Exécuter l’application dans un environnement local

  1. Remplacez le répertoire par le projet terminé à l’aide de la commande suivante :

    cd payaramicro-hello-azure/
    
  2. Générez le projet à l’aide de la commande Maven suivante :

    mvn clean package
    
  3. Exécutez le projet à l’aide de la commande suivante :

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. Testez l’application web en y accédant localement à l’aide d’un navigateur web. Par exemple, vous pouvez utiliser la commande suivante si vous avez curl disponible :

    curl http://localhost:8080/data/hello
    
  5. Le message suivant doit s’afficher : Hello World.

Configurer le plug-in Maven pour Azure App Service

Dans cette section, vous allez configurer le projet Payara Micro pom.xml fichier afin que Maven puisse déployer l’application sur Azure App Service sur Linux.

  1. Ouvrez le fichier pom.xml dans un éditeur de code.

  2. Dans la section <build> du fichier pom.xml, insérez l’entrée <plugin> suivante à l’intérieur de la balise <plugins> :

    <build>
      <finalName>payaramicro-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
            <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Configurez le déploiement en exécutant la commande Maven suivante :

    mvn azure-webapp:config
    

    Sélectionnez les options suivantes lorsque vous y êtes invité :

    Champ d’entrée Entrée/Sélection de la valeur
    Définir la valeur du système d’exploitation (par défaut : Linux) : 1. linux
    Définir la valeur de javaVersion(Par défaut : Java 8) : 1. Java 11
    Définir la valeur de runtimeStack(Par défaut : TOMCAT 8.5) : TOMCAT 8.5
    Confirmez (O/N) y

    [! REMARQUE] Même si nous n’utilisons pas Tomcat, sélectionnez TOMCAT 8.5 pour l’instant. Pendant la configuration détaillée, vous modifiez la valeur de TOMCAT 8.5 en Java11.

    Cette commande produit une sortie similaire à l’exemple suivant :

    [INFO] Scanning for projects...
    [INFO]
    [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >---
    [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure ---
    Define value for OS(Default: Linux):
    1. linux [*]
    2. windows
    3. docker
    Enter index to use:
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Define value for runtimeStack(Default: TOMCAT 8.5):
    1. TOMCAT 9.0
    2. TOMCAT 8.5 [*]
    Enter index to use:
    Please confirm webapp properties
    AppName : payaramicro-hello-azure-1601009217863
    ResourceGroup : payaramicro-hello-azure-1601009217863-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : TOMCAT 8.5-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  22.302 s
    [INFO] Finished at: 2020-09-25T13:47:11+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Modifiez l’entrée de runtime de TOMCAT 8.5 pour java11 et l’entrée de deployment de *.war à *.jar. Ajoutez ensuite la section <appSettings> à la section <configuration> de PORT, WEBSITES_PORTet WEBSITES_CONTAINER_START_TIME_LIMIT. Votre entrée XML pour azure-webapp-maven-plugin doit ressembler à l’exemple suivant :

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.9.1</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>payaramicro-hello-azure-1591860934798</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</webContainer>
        </runtime>
        <appSettings>
          <property>
            <name>PORT</name>
            <value>8080</value>
          </property>
            <property>
            <name>WEBSITES_PORT</name>
            <value>8080</value>
          </property>
          <property>
            <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name>
            <value>600</value>
          </property>
        </appSettings>
        <deployment>
          <resources>
            <resource>
              <directory>${project.basedir}/target</directory>
              <includes>
                <include>*.jar</include>
              </includes>
            </resource>
          </resources>
        </deployment>
      </configuration>
    </plugin>
    

Déployer l’application sur Azure

Après avoir configuré tous les paramètres dans les sections précédentes de cet article, vous êtes prêt à déployer votre application web sur Azure. Pour ce faire, procédez comme suit :

  1. À partir de l’invite de commandes ou de la fenêtre de terminal que vous utilisiez précédemment, régénérez le fichier JAR à l’aide de Maven si vous avez apporté des modifications au fichier pom.xml, à l’aide de la commande suivante :

    mvn clean package
    
  2. Déployez votre application web sur Azure à l’aide de Maven dans la commande suivante :

    mvn azure-webapp:deploy
    

Si le déploiement a réussi, la sortie suivante s’affiche :

[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+09:00
[INFO] ------------------------------------------------------------------------

Maven déploie votre application web sur Azure. Si l’application web ou le plan d’application web n’existe pas encore, il est créé pour vous. Cela peut prendre quelques minutes avant que l’application web soit visible à l’URL indiquée dans le résultat. Accédez à l’URL dans un navigateur Web. L’écran suivant doit s’afficher :

Capture d’écran du navigateur web montrant la page d’accueil de Payara Micro.

Une fois votre application web déployée, vous pouvez la gérer via le portail Azure .

Votre application web est répertoriée dans le microprofile groupe de ressources.

Vous pouvez accéder à votre application web en sélectionnant Parcourir sur la page Vue d’ensemble de votre application web. Vérifiez que le déploiement a réussi et est en cours d’exécution.

Vérifier le flux de journaux de l’instance App Service en cours d’exécution

Vous pouvez afficher les journaux dans leur intégralité ou utiliser tail pour afficher la fin des journaux, à partir de l’application App Service en cours d’exécution. Tous les appels à console.log dans le code de site sont affichés dans le terminal.

az webapp log tail \
    --resource-group microprofile \
    --name payaramicro-hello-azure-1601009217863

Capture d’écran de la fenêtre du terminal montrant le flux des journaux.

Nettoyer les ressources

Lorsque les ressources Azure ne sont plus nécessaires, nettoyez les ressources que vous avez déployées en supprimant le groupe de ressources.

  1. Dans le portail Azure, sélectionnez groupe de ressources dans le menu.
  2. Saisissez microprofile dans le champ Filtrer par nom (Filter by name). Le groupe de ressources créé dans ce didacticiel doit avoir ce préfixe.
  3. Sélectionnez le groupe de ressources créé dans ce tutoriel.
  4. Sélectionnez Supprimer le groupe de ressources dans le menu.

Étapes suivantes

Pour en savoir plus sur MicroProfile et Azure, passez au Centre de documentation MicroProfile sur Azure.

Ressources additionnelles

Pour plus d’informations sur les différentes technologies abordées dans cet article, consultez les articles suivants :