共用方式為


使用 Maven 將 Payara Micro Web 應用程式部署至 Azure App Service

在本快速入門中,您會使用適用於 Azure App Service Web Apps 的 Maven 外掛程式,將 Payara Micro 應用程式部署至 Linux 上的 Azure App Service。 當您想要將應用程式的相依性、運行時間和組態合併成單一可部署成品時,選擇使用 Java SE 部署而非 Tomcat和WAR檔案

如果您沒有 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 應用程式並在本機進行測試。

  1. 開啟網頁瀏覽器並流覽至 MicroProfile Starter 網站。

    螢幕快照,其中顯示已選取 Payara Micro Runtime 的 MicroProfile Starter。

  2. 根據下表輸入或選取域值:

    領域 價值
    群組識別碼 com.microsoft.azure.samples.payaramicro
    artifactId payaramicro-hello-azure
    MicroProfile 版本 MP 3.2
    Java SE 版本 Java 11
    MicroProfile 執行環境 PayaraMicro
    規格的範例 計量、OpenAPI
  3. 選擇 下載 以下載專案。

  4. 使用下列命令將封存盤解壓縮:

    unzip payaraMicro-hello-azure.zip
    

在本機環境中執行應用程式

  1. 使用下列命令,將目錄變更為已完成的專案:

    cd payaramicro-hello-azure/
    
  2. 使用下列 Maven 命令建置專案:

    mvn clean package
    
  3. 使用下列命令執行專案:

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. 使用網頁瀏覽器在本機上瀏覽 Web 應用程式以進行測試。 例如,如果您有 curl 可用,您可以使用下列命令:

    curl http://localhost:8080/data/hello
    
  5. 您應該看到下列訊息顯示:Hello World

設定適用於 Azure App Service 的 Maven 外掛程式

在本節中,您會設定 Payara Micro 專案 pom.xml 檔案,讓 Maven 可以將應用程式部署至 Linux 上的 Azure App Service。

  1. 在程式代碼編輯器中開啟 pom.xml 檔案。

  2. 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>
    
  3. 執行下列 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] ------------------------------------------------------------------------
    
  4. runtime 項目從 TOMCAT 8.5 修改為 java11,並將 deployment 項目從 *.war 修改為 *.jar。 然後將 <appSettings> 區段新增至 PORTWEBSITES_PORTWEBSITES_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。 若要這樣做,請使用下列步驟:

  1. 從您稍早使用的命令提示字元或終端機視窗中,如果您對 pom.xml 檔案進行了任何變更,請使用下列 Maven 命令重建 JAR 檔案:

    mvn clean package
    
  2. 在下列命令中使用 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。 您應該會看到下列畫面:

顯示 Payara Micro 首頁之網頁瀏覽器的螢幕快照。

部署 Web 應用程式之後,您可以透過 Azure 入口網站管理它

您的 Web 應用程式會列在 microprofile 資源群組中。

您可以在 Web 應用程式的 [概觀] 頁面上選取 [瀏覽 ],以存取您的 Web 應用程式。 確認部署成功且正在執行。

從執行中的 App Service 確認記錄數據流

您可以完整檢視記錄,或使用 tail,從執行中的 App Service 檢視記錄的結尾。 在站點代碼中呼叫 console.log 的任何通話都會顯示在終端機中。

az webapp log tail \
    --resource-group microprofile \
    --name payaramicro-hello-azure-1601009217863

顯示記錄數據流的終端機視窗螢幕快照。

清除資源

當不再需要 Azure 資源時,請刪除資源群組來清除您部署的資源。

  1. 從 Azure 入口網站中,從功能表中選取 [資源群組]。
  2. [依名稱篩選] 欄位中,輸入 microprofile。 在本教學課程中建立的資源群組應該包含此字首。
  3. 選取在本教學課程中建立的資源群組。
  4. 請從功能表中選取 [刪除資源群組]

後續步驟

若要深入瞭解 MicroProfile 和 Azure,請繼續前往 Azure 上的 MicroProfile 檔中心。

Azure 上的 MicroProfile

其他資源

如需本文所討論各種技術的詳細資訊,請參閱下列文章: