Gyakorlat – Java-webalkalmazás üzembe helyezése az Azure App Service-ben
Ebben a leckében üzembe helyezi az alkalmazást az Azure App Service-ben.
Az Azure App Service-ről
Az Azure PaaS-szolgáltatásként nyújtja az Azure App Service-t a Tomcat futtatásához. Windows- és Linux-környezettel is rendelkezik, emellett biztonságot, terheléselosztást, automatikus méretezést és DevOps-integrációt is kínál. Az operációs rendszerek és a Tomcat kezelését bízza az Azure-ra, így Ön az alkalmazásfejlesztésre fókuszálhat.
JSF-mintaalkalmazások beszerzése
Java-webalkalmazás üzembe helyezéséhez beszerezhet egy PrimeFaces JavaServer Faces (JSF) webalkalmazást a GitHubról az itt látható módon:
git clone https://github.com/yoshioterada/Deploy-PrimeFaces-JSF-Web-App-on-Tomcat-9.0
A klónozás után a következő fájlok láthatók a könyvtárban:
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
Az Azure App Service-hez készült Maven beépülő modul
A Microsoft biztosítja a Maven beépülő modult Azure-alkalmazás szolgáltatáshoz, hogy a Java-fejlesztők egyszerűbben helyezhessenek üzembe alkalmazásokat az Azure-ban. A beépülő modullal könnyen konfigurálhatja és üzembe helyezheti az alkalmazást az Azure-ban. Futtassa a következő parancsot a Maven beépülő modul Azure-alkalmazás szolgáltatáshoz való használatához.
Az Azure App Service-hez készült Maven beépülő modul konfigurálása
A Maven beépülő modul Azure-alkalmazás szolgáltatáshoz való konfigurálásához hajtsa végre a következő parancsot:
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
A parancs után megjelenik egy kérdés. Itt adja meg és állítsa be a megfelelő elemeket. Adja meg a következő beállításokat:
Tétel | Bemeneti érték |
---|---|
Előfizetés | Azure-előfizetés kiválasztása |
Define value for OS (Az OS osztály értékének definiálása) | 1: Linux |
A díjszabási szint értékének megadása | P1v2 |
A Java-verzió értékének megadása | 1: Java 8 vagy 2: Java 11 |
A közös nyelvi futtatókörnyezet értékének megadása | 3: TOMCAT 9.0 |
Confirm (Y/N) (Megerősítés: I/N) | Y |
A parancs végrehajtása után a következő eredmények jelennek meg:
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] ------------------------------------------------------------------------
A pom.xml
fájl <plugins>
szakaszában egy új szakasz jelenik meg.
Ha módosítani szeretné az erőforráscsoport nevét, a példány nevét és az üzembe helyezési helyet, módosítsa a(z) <resourceGroup>
, <appName>
, illetve <region>
értékeket.
<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>
Fordítás és üzembe helyezés az Azure App Service-ben
Most, hogy megadta az Azure App Service-ben való üzembe helyezés beállításait, fordítsa le ismét a forráskódot:
mvn clean package
A fordítás után az Alkalmazás üzembe helyezéséhez használja az Azure Web AppsHez készült Maven beépülő modult. Hajtsa végre a következő parancsot:
mvn azure-webapp:deploy
Az üzembe helyezést követően az alábbi üzenet jelenik meg.
[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] ------------------------------------------------------------------------
Az üzembe helyezett alkalmazás nyilvános URL-címe megjelenik a Successfully deployed the artifact to
sorban. Az URL-cím elérése böngészővel, az alábbi példához hasonlóan:
https://azure-javaweb-app-1601463451101.azurewebsites.net
A naplófolyam ellenőrzése a parancssorból
A naplófolyam eléréséhez használja az alábbi CLI-parancsot:
az webapp log tail -g azure-javaweb-app -n azure-javaweb-app-1601463451101
A következő eredményt kapja:
A gyakorlat összefoglalása
Ebben a leckében megtanulta, hogyan hozhat létre és csomagolhat be Java-webalkalmazásokat, hogyan használhatja az Azure Web AppsHez készült Maven beépülő modult, és hogyan helyezheti üzembe az alkalmazást Azure-alkalmazás Szolgáltatásban. Ezek a lépések nemcsak JSF-alkalmazásokkal használhatók, hanem a legtöbb Java-webalkalmazással is.