Java 应用部署示例

已完成

在本单元中,你将配置一个要通过 Maven 部署的 Spring Boot 应用程序。 然后将应用程序部署到 Azure 应用服务实例。 本单元显示了宠物诊所的示例。

示例应用程序

在您偏好的命令行工具中克隆以下内容。

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

然后,在本地运行应用程序:

cd spring-petclinic

./mvnw package

java -jar target/*.jar

在浏览器中打开示例时,它应如下所示:

此屏幕截图显示如何单击以执行 pet clinic 示例应用程序的本地部署。

准备示例应用程序以支持云端运行

src 文件夹中,你将找到对象、控制器和存储库类。

由于 Java 独立于平台,因此你可以自由选择 OS,但 Java 版本对于部署非常重要。 可以在 pom.xml 文件中找到 Java 版本。

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

此示例使用 Java 8,因此无论 Linux 还是 Windows,我们的 Azure 应用服务实例也应使用 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 应用服务。

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

此命令运行测试。 然后,它会自动启动 Azure 应用服务实例并部署打包的应用程序。

已部署的示例宠物诊所应用程序的屏幕截图。

祝贺! 该应用已成功部署到 Azure 应用服务。