你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如何从 Azure CLI 部署 Spring Boot
注意
从 2025 年 3 月中旬开始,基本、标准和企业计划将弃用,停用期为三年。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
从 2024 年 9 月 30 日开始,标准消耗和专用计划将弃用,六个月后将完全关闭。 建议过渡到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于:✔️ Java C#
本文适用于:✔️ 基本/标准层 ❌ 企业层
通过 Azure Spring Apps,可以在 Azure 上托管 Spring Boot 应用程序。
可直接从 Java 源代码或预构建的 JAR 启动应用程序。 本文介绍部署过程。
先决条件
在开始之前,请确保 Azure 订阅已安装所需的依赖项:
提示
Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的步骤。 它预装有常用的 Azure 工具,其中包括最新版的 Git、JDK、Maven 和 Azure CLI。 如果你已登录到 Azure 订阅,请从 shell.azure.com 启动 Azure Cloud Shell。 若要详细了解 Azure Cloud Shell,请阅读我们的文档
安装 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 eastus --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 示例。