Ćwiczenie — wdrażanie aplikacji internetowej Java w usłudze Azure App Service
W tej lekcji wdrożysz aplikację w usłudze Azure App Service.
Co to jest usługa Azure App Service?
Platforma Azure udostępnia usługę Azure App Service jako platformę jako usługę (PaaS) do uruchamiania serwera Tomcat. Oferuje ona środowisko systemu Windows i Linux, zabezpieczenia, równoważenie obciążenia, skalowanie automatyczne i integrację metodyki DevOps. Możesz pozostawić zarządzanie systemem operacyjnym i serwerem Tomcat na 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ą PrimeFaces JavaServer Faces (JSF) z usługi GitHub, jak pokazano tutaj.
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 Azure App Service, aby ułatwić deweloperom języka Java wdrażanie aplikacji na platformie Azure. Korzystając z tej wtyczki, można łatwo skonfigurować i wdrożyć aplikację na platformie Azure. Wykonaj następujące polecenie, aby użyć wtyczki Maven dla usługi Azure App Service.
Konfigurowanie wtyczki Maven dla usługi Azure App Service
Aby skonfigurować wtyczkę Maven dla usługi Azure App Service, wykonaj następujące polecenie:
mvn com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:config
Po wykonaniu polecenia, w wierszu polecenia (konsoli) pojawią się pewne pytania, więc odpowiedz na nie, wybierz odpowiednie elementy i następnie je ustaw. Wprowadź następujące opcje:
Przedmiot | Wartość wejściowa |
---|---|
Subskrypcja | Wybieranie subskrypcji platformy Azure |
Definiowanie wartości dla systemu operacyjnego | 1: Linux |
Definiowanie wartości dla warstwy cenowej | P1v2 |
Definiowanie wartości dla wersji języka Java | 1: Java 8 lub 2: Java 11 |
Zdefiniuj wartość dla stosu uruchomieniowego | 3: TOMCAT 9.0 |
Potwierdź (Y/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] ------------------------------------------------------------------------
W sekcji <plugins>
w pliku pom.xml
zostanie wyświetlona nowa sekcja.
Jeśli chcesz zmienić nazwę grupy zasobów, nazwę wystąpienia i lokalizację wdrożenia, zmień <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 zostały ukończone, skompiluj kod źródłowy ponownie:
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 wierszu Successfully deployed the artifact to
. 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 dziennika z wiersza polecenia
Aby uzyskać dostęp do log stream, wykonaj następujące polecenie CLI:
az webapp log tail -g azure-javaweb-app -n azure-javaweb-app-1601463451101
Otrzymasz następujący wynik:
Podsumowanie ćwiczenia
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 Azure App Service. Te kroki dotyczą nie tylko aplikacji JSF, ale także większości aplikacji internetowych Java.