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] 資料夾中,您將會找到 Object、Controller 與 Repository 類別。
由於 JAVA 與平台無關,因此您可以自由選擇作業系統,但是 JAVA 版本對於部署而言很重要。 您可以在 pom.xml 檔案中找到 JAVA 版本。
<properties>
<java.version>17</java.version>
</properties>
此範例使用 JAVA 8,因此,我們的 Azure App Service 執行個體 (不論是 Linux 或 Windows) 應該也使用 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。