Java 應用程式部署範例

已完成

在本單元中,您將設定要透過 Maven 部署的 Spring Boot 應用程式。 接著,您會將應用程式部署至 Azure App Service 實例。 本單元顯示寵物診所的範例。

範例應用程式

在慣用的命令列工具中複製下列內容:

git clone https://github.com/spring-projects/spring-petclinic.git

然後,在本機執行應用程式:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

當您在瀏覽器中開啟範例時,它看起來應該像這樣:

顯示按一下範例寵物診所應用程式之本機部署的螢幕擷取畫面。

準備範例應用程式以符合雲端化需求

src 資料夾中,您會發現物件、控制器和存放庫類別。

因為 Java 與平台無關,因此您可以自由選擇 OS,但 Java 版本對於部署很重要。 您可以在 pom.xml 檔案中找到 Java 版本。

<properties>
    <java.version>17</java.version>
</properties>

此範例會使用 Java 8,因此無論 Linux 還是 Windows,我們的 Azure App Service 實例也應該使用 Java 8。 因為平臺並不重要,因此我們會使用Linux來範例。

我們必須將一些 Azure 相依性新增至 pom.xml 檔案。 如果您執行下列命令,新增相依性可能會自動發生:

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.11.1:config

該命令的輸出會要求指定一些選項。 這些選項會自動儲存在 pom.xml中。

Please choose which part to config:
* 1: Application
  2: Runtime
  3: DeploymentSlot
Enter your choice: 1
Define value for appName [spring-petclinic-XXXX200]:
Define value for resourceGroup [spring-petclinic-XXXX200-rg]:
Define value for region [westeurope]:
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
Enter your choice: 1
Please confirm webapp properties
AppName : spring-petclinic-XXXX200
ResourceGroup : spring-petclinic-XXXX200-rg
Region : westeurope
PricingTier : Basic_B2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N) [Y]: y

[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

如您所見,您可以使用簡單部署的預設值。

pom.xml 檔案現在已將自動 Maven 型部署所需的外掛程式新增至 Azure。

 <plugin>
    <groupId>com.microsoft.azure</groupId>  
        <artifactId>azure-webapp-maven-plugin</artifactId>  
        <version>2.11.1</version>  
        <configuration>
          <schemaVersion>V2</schemaVersion>  
          <subscriptionId>XXX-XXX-XXX</subscriptionId>  
          <resourceGroup>spring-petclinic-XXX200-rg</resourceGroup>  
          <appName>spring-petclinic-XXX200</appName>  
          <pricingTier>B2</pricingTier>  
          <region>westeurope</region>  
          <runtime>
            <os>linux</os>  
            <javaVersion>jre8</javaVersion>  
            <webContainer>jre8</webContainer>
          </runtime>  
          <deployment>
            <resources>
              <resource>
                <directory>${project.basedir}/target</directory>  
                <includes>
                  <include>*.jar</include>
                </includes>
              </resource>
            </resources>
          </deployment>
        </configuration>
  </plugin>

使用 Maven 部署應用程式

我們已經準備好要部署至 Azure App Service。

mvn package com.microsoft.azure:azure-webapp-maven-plugin:1.12.0:deploy

此命令會執行測試。 然後,它會自動啟動 Azure App Service 實例,並部署已封裝的應用程式。

已部署範例寵物診所應用程式的螢幕快照。

祝賀! 應用程式已成功部署至 Azure App Service。