快速入门:在 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
如果系统提示“订阅”选项,通过在行首输入数字来选择适当的
Subscription
。当系统提示“Web 应用”选项时,按 Enter 键选择默认选项
<create>
。当系统提示 OS 选项时,通过输入
1
选择 Windows 。当系统提示“javaVersion”选项时,通过输入
2
选择“Java 11”。当系统提示“定价层”选项时,通过输入
10
选择“P1v2” 。最后,出现最后一个提示时按 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] ------------------------------------------------------------------------
当系统提示“订阅”选项时,通过在行首输入数字来选择适当的
Subscription
。当系统提示“Web 应用”选项时,按 Enter 键选择默认选项
<create>
。当系统提示 OS 选项时,按 Enter 键选择 Linux 。
当系统提示“javaVersion”选项时,通过输入
2
选择“Java 11”。当系统提示“定价层”选项时,通过输入
9
选择“P1v2” 。最后,出现最后一个提示时按 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 | 指定配置架构的版本。 支持的值是:v1 、v2 。 |
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-1590394316693
和 helloworld-1590394316693-rg
),后面会使用它们。
部署应用
在 pom 文件中准备好所有配置后,只需要一个命令即可将 Java 应用部署到 Azure。
部署完成后,应用程序会在 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
此命令可能需要花费一点时间运行。