Ćwiczenie — Wdrażanie aplikacji internetowej Java w usłudze Azure App Service
W tej lekcji wdrożysz swoją aplikację w usłudze Azure App Service.
Co to jest usługa Azure App Service?
Platforma Azure udostępnia usługę Azure App Service w formie platformy jako usługi (PaaS) na potrzeby uruchamiania serwera Tomcat. Udostępnia ona środowisko systemu Windows i Linux, zabezpieczenia, równoważenie obciążenia, skalowanie automatyczne i integrację z usługami DevOps. Możesz pozostawić zarządzanie systemem operacyjnym i serwerem Tomcat platformie Azure i skoncentrować się na tworzeniu aplikacji.
Pobieranie przykładowych aplikacji JSF
Aby wdrożyć aplikację internetową w języku Java, możesz pobrać aplikację internetową JavaFaces JavaServer Faces (JSF) z usługi GitHub, jak pokazano poniżej:
git clone https://github.com/yoshioterada/Deploy-PrimeFaces-JSF-Web-App-on-Tomcat-9.0
Po sklonowanie zobaczysz następujące pliki w katalogu:
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
Wtyczka Maven dla usługi Azure App Service
Firma Microsoft udostępnia wtyczkę Maven dla usługi aplikacja systemu Azure, aby ułatwić deweloperom języka Java wdrażanie aplikacji na platformie Azure. Korzystając z tej wtyczki, możesz łatwo skonfigurować i wdrożyć swoją aplikację na platformie Azure. Wykonaj następujące polecenie, aby użyć wtyczki Maven dla usługi aplikacja systemu Azure Service.
Konfigurowanie wtyczki Maven dla usługi Azure App Service
Aby skonfigurować wtyczkę Maven dla usługi aplikacja systemu Azure, wykonaj następujące polecenie:
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
Po wykonaniu polecenia w wierszu polecenia zostanie wyświetlonych kilka pytań — wprowadź i wybierz odpowiednie elementy i ustaw je. Wprowadź następujące opcje:
Produkt | Wartość wejściowa |
---|---|
Subskrypcja | Wybierz swoją subskrypcję platformy Azure |
Define value for OS (Zdefiniuj wartość dla systemu operacyjnego) | 1: Linux |
Define value for pricing tier (Zdefiniuj wartość warstwy cenowej) | P1v2 |
Define value for Java version (Zdefiniuj wartość wersji języka Java) | 1: Java 8 lub 2: Java 11 |
Define value for runtime stack (Zdefiniuj wartość stosu środowiska uruchomieniowego) | 3: TOMCAT 9.0 |
Confirm (Y/N) (Potwierdź — T/N) | Y |
Po wykonaniu polecenia zostaną wyświetlone następujące wyniki:
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 : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
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] ------------------------------------------------------------------------
Zobaczysz nową sekcję w sekcji <plugins>
w pliku pom.xml
.
Jeśli chcesz zmienić nazwę grupy zasobów, nazwę wystąpienia i lokalizację wdrożenia, zmień elementy <resourceGroup>
, <appName>
i <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>
Kompilowanie i wdrażanie w usłudze Azure App Service
Teraz, gdy ustawienia wdrażania w usłudze Azure App Service są gotowe, skompiluj ponownie kod źródłowy:
mvn clean package
Po skompilowaniu użyj polecenia Maven Plugin for Azure Web Apps, aby wdrożyć aplikację. Wykonaj następujące polecenie:
mvn azure-webapp:deploy
Po zakończeniu wdrażania zostanie wyświetlony następujący komunikat.
[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] ------------------------------------------------------------------------
Publiczny adres URL wdrożonej aplikacji jest wyświetlany w Successfully deployed the artifact to
wierszu. Uzyskaj dostęp do adresu URL za pomocą przeglądarki, jak w poniższym przykładzie:
https://azure-javaweb-app-1601463451101.azurewebsites.net
Potwierdzanie strumienia dzienników z poziomu wiersza polecenia
Aby uzyskać dostęp do strumienia dzienników, wykonaj następujące polecenie interfejsu wiersza polecenia:
az webapp log tail -g azure-javaweb-app -n azure-javaweb-app-1601463451101
Otrzymasz następujący wynik:
Podsumowanie ćwiczeń
W tej lekcji pokazano, jak utworzyć i spakować aplikację internetową Java, jak używać wtyczki Maven dla usługi Azure Web Apps oraz jak wdrożyć aplikację w usłudze aplikacja systemu Azure Service. Te kroki mają zastosowanie nie tylko do aplikacji JSF, ale także do większości aplikacji internetowych w języku Java.