使用 Maven 將 Payara Micro Web 應用程式部署至 Azure App Service
在本快速入門中,您會使用適用於 Azure App Service Web Apps 的
如果您沒有 Azure 訂用帳戶,請在開始之前建立 免費帳戶。
先決條件
- Azure CLI,無論是本機還是透過 Azure Cloud Shell 。
- 支援的 Java 開發工具套件 (JDK)。 如需了解在 Azure 上開發時可用的 JDK 的更多資訊,請參閱 Azure 和 Azure Stack 上的 Java 支援 。
- Apache Maven第 3 版。
登入 Azure CLI
取得部署 Payara Micro 應用程式的 Maven 外掛程式最簡單的方式,是使用 Azure CLI。
使用 Azure CLI 登入您的 Azure 帳戶:
az login
請遵循指示來完成登入程式。
從 MicroProfile Starter 建立範例應用程式
在本節中,您會建立Payara Micro 應用程式並在本機進行測試。
開啟網頁瀏覽器並流覽至 MicroProfile Starter 網站。
根據下表輸入或選取域值:
領域 價值 群組識別碼 com.microsoft.azure.samples.payaramicro artifactId payaramicro-hello-azure MicroProfile 版本 MP 3.2 Java SE 版本 Java 11 MicroProfile 執行環境 PayaraMicro 規格的範例 計量、OpenAPI 選擇 下載 以下載專案。
使用下列命令將封存盤解壓縮:
unzip payaraMicro-hello-azure.zip
在本機環境中執行應用程式
使用下列命令,將目錄變更為已完成的專案:
cd payaramicro-hello-azure/
使用下列 Maven 命令建置專案:
mvn clean package
使用下列命令執行專案:
java -jar target/payaramicro-hello-azure-microbundle.jar
使用網頁瀏覽器在本機上瀏覽 Web 應用程式以進行測試。 例如,如果您有
curl
可用,您可以使用下列命令:curl http://localhost:8080/data/hello
您應該看到下列訊息顯示:Hello World。
設定適用於 Azure App Service 的 Maven 外掛程式
在本節中,您會設定 Payara Micro 專案 pom.xml 檔案,讓 Maven 可以將應用程式部署至 Linux 上的 Azure App Service。
在程式代碼編輯器中開啟 pom.xml 檔案。
在 pom.xml 檔案的
<build>
區段中,於<plugins>
標籤內插入<plugin>
條目:<build> <finalName>payaramicro-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
執行下列 Maven 命令來設定部署:
mvn azure-webapp:config
出現提示時,請選取下列選項:
輸入欄位 輸入/選取值 定義 OS 的值(預設值:Linux): 1. linux 定義 javaVersion 的值(預設值:Java 8): 1. Java 11 定義 runtimeStack 的值(預設值:TOMCAT 8.5): TOMCAT 8.5 確認 (Y/N) y [!注意] 雖然我們沒有使用 Tomcat,但目前仍選取 [
TOMCAT 8.5
]。 在詳細的設定期間,您會將值從TOMCAT 8.5
修改為Java11
。這個指令會產生類似下列範例的輸出:
[INFO] Scanning for projects... [INFO] [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >--- [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ war ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure --- Define value for OS(Default: Linux): 1. linux [*] 2. windows 3. docker Enter index to use: Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 1 Define value for runtimeStack(Default: TOMCAT 8.5): 1. TOMCAT 9.0 2. TOMCAT 8.5 [*] Enter index to use: Please confirm webapp properties AppName : payaramicro-hello-azure-1601009217863 ResourceGroup : payaramicro-hello-azure-1601009217863-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : TOMCAT 8.5-java11 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 22.302 s [INFO] Finished at: 2020-09-25T13:47:11+09:00 [INFO] ------------------------------------------------------------------------
將
runtime
項目從TOMCAT 8.5
修改為java11
,並將deployment
項目從*.war
修改為*.jar
。 然後將<appSettings>
區段新增至PORT
、WEBSITES_PORT
和WEBSITES_CONTAINER_START_TIME_LIMIT
的<configuration>
區段。azure-webapp-maven-plugin
的 XML 項目看起來應該類似下列範例:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.9.1</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>payaramicro-hello-azure-1591860934798</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> </includes> </resource> </resources> </deployment> </configuration> </plugin>
將應用程式部署至 Azure
在本文前幾節中設定所有設定之後,您就可以開始將 Web 應用程式部署至 Azure。 若要這樣做,請使用下列步驟:
從您稍早使用的命令提示字元或終端機視窗中,如果您對 pom.xml 檔案進行了任何變更,請使用下列 Maven 命令重建 JAR 檔案:
mvn clean package
在下列命令中使用 Maven 將 Web 應用程式部署至 Azure:
mvn azure-webapp:deploy
如果部署成功,您會看到下列輸出:
[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+09:00
[INFO] ------------------------------------------------------------------------
Maven 會將 Web 應用程式部署至 Azure。 如果 Web 應用程式或 Web 應用程式方案尚未存在,則會為您建立它。 可能需要幾分鐘的時間,網頁應用程式才會顯示在輸出中顯示的網址。 在網頁瀏覽器中打開 URL。 您應該會看到下列畫面:
部署 Web 應用程式之後,您可以透過 Azure 入口網站管理它。
您的 Web 應用程式會列在 microprofile 資源群組中。
您可以在 Web 應用程式的 [概觀] 頁面上選取
從執行中的 App Service 確認記錄數據流
您可以完整檢視記錄,或使用 tail
,從執行中的 App Service 檢視記錄的結尾。 在站點代碼中呼叫 console.log
的任何通話都會顯示在終端機中。
az webapp log tail \
--resource-group microprofile \
--name payaramicro-hello-azure-1601009217863
清除資源
當不再需要 Azure 資源時,請刪除資源群組來清除您部署的資源。
- 從 Azure 入口網站中,從功能表中選取 [資源群組]。
- 在 [依名稱篩選] 欄位中,輸入 microprofile。 在本教學課程中建立的資源群組應該包含此字首。
- 選取在本教學課程中建立的資源群組。
- 請從功能表中選取 [刪除資源群組] 。
後續步驟
若要深入瞭解 MicroProfile 和 Azure,請繼續前往 Azure 上的 MicroProfile 檔中心。
Azure 上的
其他資源
如需本文所討論各種技術的詳細資訊,請參閱下列文章:
- 適用於 Azure Web Apps 的 Maven 外掛程式
- 使用 Azure CLI 2.0 建立 Azure 服務主體
- Maven 設定參考