Déployer une application web Helidon 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 Helidon 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
- Azure CLI, en local ou via Azure Cloud Shell.
- Kit de développement Java (JDK) pris en charge. Pour plus d’informations sur les JDK disponibles lors du développement sur Azure, consultez prise en charge de Java sur Azure et Azure Stack.
- Apache Maven, version 3.
Se connecter à Azure CLI
La façon la plus simple et la plus rapide pour que le plug-in Maven déploie votre application Helidon est d’utiliser Azure CLI.
Connectez-vous à votre compte Azure à l’aide de la commande suivante dans 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 Helidon et la tester localement.
Ouvrez un navigateur web et accédez au site MicroProfile Starter.
Entrez ou sélectionnez le champ comme suit.
Champ Valeur groupId com.microsoft.azure.samples.helidon identifiant d'artéfact helidon-hello-azure Version de MicroProfile MP 3.2 Version de Java SE Java 11 MicroProfile Runtime Helidon Exemples de spécifications Métriques, OpenAPI Sélectionnez TÉLÉCHARGER pour télécharger le projet.
Décompressez le fichier d’archivage. Vous pouvez utiliser la ligne de commande, comme dans l’exemple suivant :
unzip helidon-hello-azure.zip
Vous pouvez également créer le projet à l’aide de la commande suivante :
mvn -U archetype:generate -DinteractiveMode=false \ -DarchetypeGroupId=io.helidon.archetypes \ -DarchetypeArtifactId=helidon-quickstart-se \ -DarchetypeVersion=2.0.0 \ -DgroupId=com.microsoft.azure.samples.helidon \ -DartifactId=helidon-hello-azure \ -Dpackage=com.microsoft.azure.samples.helidon
Remplacez le répertoire par le projet terminé à l’aide de la commande suivante :
cd helidon-hello-azure/
Générez le fichier JAR à l’aide de Maven à l’aide de la commande suivante :
mvn clean package
Une fois l’application web créée, démarrez-la à l’aide de la commande Maven suivante :
java -jar target/helidon-hello-azure.jar
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/greet
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 Helidon pom.xml fichier afin que Maven puisse déployer l’application sur Azure App Service sur Linux.
Ouvrez le fichier pom.xml dans un éditeur de code.
Dans la section
<build>
du fichier pom.xml, insérez l’entrée<plugin>
suivante à l’intérieur de la balise<plugins>
:<build> <finalName>helidon-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
Configurez le déploiement à l’aide de 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 Confirmez (O/N) y Cette commande produit une sortie similaire à l’exemple suivant :
[INFO] Scanning for projects... [INFO] [INFO] ------< com.microsoft.azure.samples.helidon:helidon-hello-azure >------- [INFO] Building myproject 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ helidon-hello-azure --- Define value for OS(Default: Linux): 1. linux [*] 2. windows 3. docker Enter index to use: 1 Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 1 Please confirm webapp properties AppName : helidon-hello-azure-1600998900939 ResourceGroup : helidon-hello-azure-1600998900939-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 11-java11 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:44 min [INFO] Finished at: 2020-09-25T10:57:35+09:00 [INFO] ------------------------------------------------------------------------
Ajoutez la section
<appSettings>
à la section<configuration>
dePORT
,WEBSITES_PORT
etWEBSITES_CONTAINER_START_TIME_LIMIT
. Ajoutez<include>/libs/*.jar</include>
aux ressources dans le déploiement.<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>helidon-hello-azure-1591663020899</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> <include>/libs/*.jar</include> </includes> </resource> </resources> </deployment> </configuration>
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 :
À 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
Déployez votre application web sur Azure à l’aide de Maven à l’aide de la commande suivante :
mvn azure-webapp:deploy
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. Il pourrait s'écouler 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. Le message doit s’afficher : Hello World
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 App Services .
Vous pouvez accéder à votre application web en sélectionnant Parcourir dans la page Vue d’ensemble de votre application web.
Vérifiez que le déploiement a réussi en utilisant la commande cURL /greet
comme précédemment, en utilisant l'URL de votre application web depuis le portail Azure au lieu de localhost
. Le message suivant doit s’afficher : Hello World
Vérifier le flux de journaux de l’instance App Service en cours d’exécution
Vous pouvez utiliser la commande suivante pour afficher - ou tail - les journaux du service App 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 helidon-hello-azure-1600998900939
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.
- Dans le portail Azure, sélectionnez groupe de ressources dans le menu.
- Saisissez microprofile dans le champ Filtrer par nom (Filter by name). Le groupe de ressources créé dans ce didacticiel doit avoir ce préfixe.
- Sélectionnez le groupe de ressources créé dans ce tutoriel.
- 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 :