如何从 Azure CLI 部署 Spring Boot
注意
Azure Spring Apps 是 Azure Spring Cloud 服务的新名称。 虽然该服务有新名称,但一些地方仍会使用旧名称,我们仍在更新屏幕截图、视频和图形等资产。
通过 Azure Spring Apps,可以在 Azure 上托管 Spring Boot 应用程序。
可直接从 Java 源代码或预构建的 JAR 启动应用程序。 本文介绍部署过程。
先决条件
在开始之前,请确保 Azure 订阅已安装所需的依赖项:
安装 Azure CLI 扩展
通过以下命令安装用于 Azure CLI 的 Azure Spring Apps 扩展
az extension add --name spring
使用 Azure CLI 预配服务实例
登录到 Azure CLI 并选择你的有效订阅。
az login
az account list -o table
az account set --subscription <subscription-id>
在 Azure Spring Apps 中创建资源组以包含你的服务。 你可以详细了解 Azure 资源组。
az group create --location chinanorth2 --name <resource-group-name>
运行以下命令以预配 Azure Spring Apps 的实例。 为 Azure Spring Apps 中的服务准备名称。 该名称必须为 4 到 32 个字符,只能包含小写字母、数字及连字符。 服务名称的第一个字符必须是字母,最后一个字符必须是字母或数字。
az spring create --resource-group <resource-group-name> --name <resource-name>
部署服务实例需要大约五分钟时间。
使用以下命令设置默认的资源组名称和 Azure Spring Apps 实例名称:
az config set defaults.group=<service-group-name>
az config set defaults.spring=<service-instance-name>
在 Azure Spring Apps 中创建应用程序
以下命令在订阅中创建 Azure Spring Apps 中的应用程序。 此操作将创建一个空的服务,你可以将其上传到应用程序。
az spring app create --name <app-name>
部署 Spring Boot 应用程序
可以从预构建的 JAR 或从 Gradle 或 Maven 存储库部署应用程序。 在下面找到每种情况的说明。
部署预构建的 JAR
若要从在本地计算机上构建的 JAR 进行部署,请确保构建生成 fat-JAR。
将 fat-JAR 部署到活动部署
az spring app deploy --name <app-name> --artifact-path <path-to-fat-JAR>
将 fat-JAR 部署到特定部署
az spring app deployment create --app <app-name> \
--name <deployment-name> \
--artifact-path <path-to-fat-JAR>
从源代码进行部署
Azure Spring Apps 使用 kpack 构建项目。 可以使用 Azure CLI 上传源代码,使用 kpack 构建项目,并将其部署到目标应用程序。
警告
项目只能生成一个 JAR 文件,该文件在 target
(适用于 Maven 部署)或 build/libs
(适用于 Gradle 部署)的 MANIFEST.MF
中具有 main-class
条目。 多个带有 main-class
条目的 JAR 文件将导致部署失败。
对于单模块 Maven/Gradle 项目:
cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path
对于包含多个模块的 Maven/Gradle 项目,请对每个模块重复以下步骤:
cd <path-to-maven-or-gradle-source-root>
az spring app deploy --name <app-name> --source-path \
--target-module <relative-path-to-module>
显示部署日志
使用以下命令查看 kpack 生成日志:
az spring app show-deploy-log --name <app-name>
注意
如果部署是使用 kpack 从源生成的,则 kpack 日志将仅显示最新部署。
向应用程序分配公共终结点
- 打开“应用”窗格,查看服务实例的应用。
- 选择应用程序以查看其“概述”页面。
- 选择“分配终结点”,将一个公共终结点分配到应用程序。 此过程可能需要几分钟。
- 从“概述”页面复制 URL,然后将其粘贴到浏览器中以查看正在运行的应用程序。
后续步骤
快速入门:通过日志、指标和跟踪来监视 Azure Spring Apps
GitHub 中提供了更多示例:Azure Spring Apps 示例。