快速入门:在 Azure 应用服务中创建 Java 应用

Azure 应用服务提供高度可缩放、自修复的 Web 托管服务。 本快速入门介绍如何将 Azure CLI用于 Maven 的 Azure Web 应用插件配合使用来部署 .jar 文件或 .war 文件。 使用选项卡在 Java SE 和 Tomcat 说明之间切换。

如果 Maven 不是首选开发工具,请查看面向 Java 开发人员的类似教程:

如果没有 Azure 试用版订阅,请在开始前创建一个试用版订阅

注意

请先运行 az cloud set -n AzureChinaCloud 更改云环境,然后才能在 Azure 中国世纪互联中使用 Azure CLI。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

创建 Java 应用

克隆 Spring Boot 入门示例项目。

git clone https://github.com/spring-guides/gs-spring-boot

将目录更改为已完成项目。

cd gs-spring-boot/complete

配置 Maven 插件

提示

Maven 插件支持 Java 17 和 Tomcat 10.0。 有关最新支持的详细信息,请参阅 Azure 应用服务上提供 Java 17 和 Tomcat 10.0

部署到 Azure 应用服务的过程会自动使用 Azure CLI 中的 Azure 凭据。 如果未在本地安装 Azure CLI,则 Maven 插件将使用 Oauth 或设备登录名进行身份验证。 有关详细信息,请参阅 Maven 插件的身份验证

运行下面的 Maven 命令来配置部署。 此命令将帮助你设置应用服务操作系统、Java 版本和 Tomcat 版本。

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.5.0:config
  1. 如果系统提示“订阅”选项,通过在行首输入数字来选择适当的 Subscription

  2. 当系统提示“Web 应用”选项时,按 Enter 键选择默认选项 <create>

  3. 当系统提示 OS 选项时,通过输入 1 选择 Windows 。

  4. 当系统提示“javaVersion”选项时,通过输入 2 选择“Java 11”。

  5. 当系统提示“定价层”选项时,通过输入 10 选择“P1v2” 。

  6. 最后,出现最后一个提示时按 Enter 来确认所做的选择。

    摘要输出将类似于下面所示的代码片段。

    Please confirm webapp properties
    Subscription Id : ********-****-****-****-************
    AppName : spring-boot-1599007390755
    ResourceGroup : spring-boot-1599007390755-rg
    Region : chinaeast
    PricingTier : P1v2
    OS : Windows
    Java : Java 11
    Web server stack : Java SE
    Deploy to slot : false
    Confirm (Y/N)? : Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 41.118 s
    [INFO] Finished at: 2020-09-01T17:43:45-07:00
    [INFO] ------------------------------------------------------------------------
    
  1. 当系统提示“订阅”选项时,通过在行首输入数字来选择适当的 Subscription

  2. 当系统提示“Web 应用”选项时,按 Enter 键选择默认选项 <create>

  3. 当系统提示 OS 选项时,按 Enter 键选择 Linux 。

  4. 当系统提示“javaVersion”选项时,通过输入 2 选择“Java 11”。

  5. 当系统提示“定价层”选项时,通过输入 9 选择“P1v2” 。

  6. 最后,出现最后一个提示时按 Enter 来确认所做的选择。

    Please confirm webapp properties
    Subscription Id : ********-****-****-****-************
    AppName : spring-boot-1599007116351
    ResourceGroup : spring-boot-1599007116351-rg
    Region : chinaeast
    PricingTier : P1v2
    OS : Linux
    Web server stack : Java SE
    Deploy to slot : false
    Confirm (Y/N)? : Y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 20.925 s
    [INFO] Finished at: 2020-09-01T17:38:51-07:00
    [INFO] ------------------------------------------------------------------------
    

可以直接在 pom.xml 中修改应用服务的配置。 下面列出了一些常见配置:

属性 必须 说明 版本
<schemaVersion> false 指定配置架构的版本。 支持的值是:v1v2 1.5.2
<subscriptionId> false 指定订阅 ID。 0.1.0+
<resourceGroup> true 用于 Web 应用的 Azure 资源组。 0.1.0+
<appName> true Web 应用的名称。 0.1.0+
<region> false 指定要托管 Web 应用的区域;默认值为“chinaeast”。 支持的区域部分中列出了所有有效区域。 0.1.0+
<pricingTier> false Web 应用的定价层。 生产工作负荷的默认值为 P1v2,而 B2 是建议用于 Java 开发/测试的最低值 。 有关详细信息,请参阅应用服务定价 0.1.0+
<runtime> false 运行时环境配置。 有关详细信息,请参阅配置详细信息 0.1.0+
<deployment> false 部署配置。 有关详细信息,请参阅配置详细信息 0.1.0+

请注意 <appName><resourceGroup> 的值(在演示中相应地为 helloworld-1590394316693helloworld-1590394316693-rg),后面会使用它们。

部署应用

在 pom 文件中准备好所有配置后,只需要一个命令即可将 Java 应用部署到 Azure。

mvn package azure-webapp:deploy

部署完成后,应用程序会在 http://<appName>.chinacloudsites.cn/(在演示中为 http://helloworld-1590394316693.chinacloudsites.cn)处准备就绪。 在本地 Web 浏览器中打开 url,你应该会看到

恭喜! 现已将第一个 Java 应用部署到应用服务。

清理资源

在前面的步骤中,你在资源组中创建了 Azure 资源。 如果认为将来不需要这些资源,请通过门户删除资源组,或在 Azure CLI 中运行以下命令:

az group delete --name <your resource group name; for example: helloworld-1558400876966-rg> --yes

此命令可能需要花费一点时间运行。

后续步骤