Exercice – Déployer une application web Java dans Azure App Service
Dans cette unité, vous allez publier votre application dans Azure App Service.
Qu’est-ce qu’Azure App Service ?
Azure fournit Azure App Service en tant que plateforme PaaS (Platform as a Service) pour l’exécution de Tomcat. Elle propose un environnement Windows et Linux, des dispositifs de sécurité, d’équilibrage de charge, de mise à l’échelle automatique et une intégration de DevOps. Vous pouvez confier la gestion du système d’exploitation et de Tomcat à Azure et vous concentrer sur la création d’applications.
Se procurer des exemples d’applications JSF
Pour déployer une application web Java, vous pouvez obtenir une application web PrimeFaces JavaServer Faces (JSF) sur GitHub comme illustré ici :
git clone https://github.com/yoshioterada/Deploy-PrimeFaces-JSF-Web-App-on-Tomcat-9.0
Après le clonage, les fichiers suivants s’affichent dans le répertoire :
Deploy-PrimeFaces-JSF-Web-App-on-Tomcat-9.0
├── pom.xml
└── src
└── main
├── java
│ └── com
│ └── microsoft
│ └── azure
│ └── samples
│ ├── controller
│ │ └── TodoListController.java
│ ├── dao
│ │ ├── ItemManagement.java
│ │ └── TodoItemManagementInMemory.java
│ └── model
│ └── TodoItem.java
└── webapp
├── META-INF
│ └── context.xml
├── WEB-INF
│ ├── beans.xml
│ ├── classes
│ │ └── logging.properties
│ ├── faces-config.xml
│ └── web.xml
└── index.xhtml
Plug-in Maven pour Azure App Service
Microsoft fournit le plug-in Maven pour Azure App Service qui permet aux développeurs Java de déployer plus facilement les applications sur Azure. En utilisant ce plug-in, vous pouvez configurer et déployer facilement votre application sur Azure. Exécutez la commande suivante pour utiliser le plug-in Maven pour Azure App Service.
Configurer le plug-in Maven pour Azure App Service.
Exécutez la commande suivante pour configurer le plug-in Maven pour Azure App Service :
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
Une fois la commande exécutée, une question s’affiche vous invitant à entrer et sélectionner les éléments appropriés et à les définir. Entrez les options suivantes :
Élément | Valeur d'entrée |
---|---|
Abonnement | Choisir votre abonnement Azure |
Définissez la valeur du système d’exploitation | 1 : Linux |
Définir la valeur de niveau tarifaire | P1v2 |
Définissez la valeur de version de Java | 1 : Java 8 ou 2 : Java 11 |
Définissez la valeur de Runtime Stack | 3 : TOMCAT 9.0 |
Confirmez (O/N) | O |
Une fois la commande exécutée, ces résultats s’affichent :
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
[INFO] Scanning for projects...
[INFO]
[INFO] -----------< com.microsoft.azure.samples:azure-javaweb-app >------------
[INFO] Building azure-javaweb-app Maven Webapp 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:1.12.0:config (default-cli) @ azure-javaweb-app ---
Available subscriptions:
* 1: My Subscription (********-****-****-****-************)
Please choose a subscription [My Subscription]: [Enter]
[INFO] It may take a few minutes to load all Java Web Apps, please be patient.
[WARNING] There are no Java Web Apps in current subscription, please follow the following steps to create a new one.
Define value for OS [Linux]:
* 1: Linux
2: Docker
3: Windows
Enter your choice:
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
Define value for javaVersion [Java 8]:
* 1: Java 8
2: Java 11
Enter your choice: 1
Define value for runtimeStack:
1: Jbosseap 7.2
* 2: Tomcat 8.5
3: Tomcat 9.0
Enter your choice: 3
Please confirm webapp properties
Subscription Id : f77aafe8-6be4-4d3d-bd9c-d0c37687ef70
AppName : azure-javaweb-app-1604982052600
ResourceGroup : azure-javaweb-app-1604982052600-rg
Region : westeurope
PricingTier : PremiumV2_P1v2
OS : Linux
Java : Java 8
Web server stack: Tomcat 9.0
Deploy to slot : false
Confirm (Y/N) [Y]: y
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 37.656 s
[INFO] Finished at: 2020-10-01T17:24:02+09:00
[INFO] ------------------------------------------------------------------------
Une nouvelle section se trouve dans la section <plugins>
de votre fichier pom.xml
.
Si vous souhaitez modifier le nom du groupe de ressources, le nom de l’instance et l’emplacement de déploiement, modifiez <resourceGroup>
, <appName>
et <region>
.
<plugins>
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.12.0</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<subscriptionId>********-****-****-****-************</subscriptionId>
<resourceGroup>azure-javaweb-app</resourceGroup>
<appName>azure-javaweb-app-1601463451101</appName>
<pricingTier>P1v2</pricingTier>
<region>japaneast</region>
<runtime>
<os>linux</os>
<javaVersion>Java 8</javaVersion>
<webContainer>TOMCAT 9.0</webContainer>
</runtime>
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.war</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
</plugins>
Compiler et déployer dans Azure App Service
Maintenant que les paramètres de déploiement dans Azure App Service sont définis, compilez à nouveau le code source :
mvn clean package
Après la compilation, utilisez la commande du plug-in Maven pour Azure Web Apps afin de déployer votre application. Exécutez la commande suivante :
mvn azure-webapp:deploy
À l’issue du déploiement, le message suivant est généré.
[INFO] Successfully deployed the artifact to https://azure-javaweb-app-1601463451101.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:15 min
[INFO] Finished at: 2020-11-19T15:55:55+09:00
[INFO] ------------------------------------------------------------------------
L’URL publique de l’application déployée s’affiche dans la ligne Successfully deployed the artifact to
. Accédez à votre URL avec un navigateur, comme dans l’exemple suivant :
https://azure-javaweb-app-1601463451101.azurewebsites.net
Vérifier le flux de journal à partir de la ligne de commande
Pour accéder au flux de journal, exécutez la commande CLI suivante :
az webapp log tail -g azure-javaweb-app -n azure-javaweb-app-1601463451101
Vous obtenez le résultat suivant :
Résumé de l’exercice
Dans cette leçon, vous avez découvert comment créer et empaqueter une application web Java, utiliser le plug-in Maven pour Azure App Service et déployer votre application dans Azure App Service. Ces étapes s’appliquent non seulement aux applications JSF, mais aussi à la plupart des applications web Java.