本文介绍了如何部署一个要在 Azure Spring Apps 上运行的小型应用程序。
本教程中使用的应用程序代码是一个简单应用。 完成此示例后,可以在线访问应用程序,并可通过 Azure 门户对其进行管理。
本文介绍用于部署到 Azure Spring Apps 的以下选项:
- “Azure 门户”选项是创建资源和部署应用程序的最简单、最快的方式,只需点击一下即可。 此选项适用于需要将应用程序快速部署到 Azure 云服务的 Spring 开发人员。
- “Azure 门户 + Maven 插件”选项是一种更为传统的方法,可用于分步创建资源和部署应用程序。 此选项适合首次使用 Azure 云服务的 Spring 开发人员。
- “Azure Developer CLI”选项是一种更高效的方法,可通过简单的命令自动创建资源和部署应用程序。 Azure Developer CLI 使用模板来预配所需的 Azure 资源并部署应用程序代码。 此选项适合熟悉 Azure 云服务的 Spring 开发人员。
- “Azure 门户”选项是创建资源和部署应用程序的最简单、最快的方式,只需点击一下即可。 此选项适用于需要将应用程序快速部署到 Azure 云服务的 Spring 开发人员。
- “Azure 门户 + Maven 插件”选项是一种更为传统的方法,可用于分步创建资源和部署应用程序。 此选项适合首次使用 Azure 云服务的 Spring 开发人员。
- “Azure CLI”选项使用功能强大的命令行工具管理 Azure 资源。 此选项适合熟悉 Azure 云服务的 Spring 开发人员。
- “IntelliJ”选项使用功能强大的 Java IDE 轻松管理 Azure 资源。 此选项适合熟悉 Azure 云服务和 IntelliJ IDEA 的 Spring 开发人员。
- “Visual Studio Code”选项使用一个轻型但功能强大的源代码编辑器,可以轻松地管理 Azure 资源。 此选项适合熟悉 Azure 云服务和 Visual Studio Code 的 Spring 开发人员。
1.先决条件
- Azure 订阅。 如果没有 Azure 帐户,请在开始前创建一个免费帐户。
- Azure 订阅。 如果没有 Azure 帐户,请在开始前创建一个免费帐户。
- 如果你是首次在目标订阅中部署 Azure Spring Apps 企业计划实例,请参阅 Azure 市场中的企业计划的要求部分。
2. 准备 Spring 项目
下一部分中的“部署到 Azure”按钮将启动 Azure 门户体验,该体验从 GitHub 上的 spring-cloud-azure-tools 发布页面下载 JAR 包。 不需要本地准备步骤。
使用以下步骤来准备项目:
使用以下命令从 GitHub 克隆适用于 Azure 的 Spring Boot 示例项目。
git clone https://github.com/spring-guides/gs-spring-boot-for-azure.git
使用以下命令移动到项目文件夹:
cd gs-spring-boot-for-azure/complete
使用以下 Maven 命令生成项目:
./mvnw clean package
使用以下命令在本地运行示例项目:
./mvnw spring-boot:run
按照以下步骤通过 Azure Developer CLI 模板初始化应用程序:
打开终端,创建一个空文件夹,然后将目录更改为该文件夹。
使用以下命令来初始化项目:
azd init --template spring-guides/gs-spring-boot-for-azure
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
-
请输入新的环境名称:提供环境名称,该名称将用作为保存所有 Azure 资源而创建的资源组的后缀。 此名称应在 Azure 订阅中具有唯一性。
控制台输出类似于以下示例的消息:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. 准备云环境
本部分介绍如何创建 Azure Spring Apps 服务实例和准备 Azure 云环境。
本部分使用“部署到 Azure”按钮在 Azure 门户中启动部署体验。 此体验使用 ARM 模板来创建 Azure 资源。
3.1. 登录到 Azure 门户
转到 Azure 门户,输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure 资源
按以下步骤创建应用依赖的所有 Azure 资源:
选择以下“部署到 Azure”按钮在 Azure 门户中启动部署体验:
填写“基本信息”选项卡上的表单。填写表单时,请参考下表:
设置 |
建议的值 |
描述 |
订阅 |
你的订阅名称。 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
区域 |
离用户最近的区域。 |
此区域用于创建资源组。 |
选择“查看 + 创建”,查看所选内容。 然后选择“创建”将应用部署到 Azure Spring Apps。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。 选择“转到资源”以打开服务的“概述”页。
3.1. 登录到 Azure 门户
转到 Azure 门户,输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure Spring Apps 实例
使用以下步骤创建 Azure Spring Apps 服务实例:
在 Azure 门户一角选择“创建资源”。
选择“计算>Azure Spring Apps”。
用以下信息填写“基本”表单。
以下表为指南来填写窗体。 建议的计划是Standard consumption & dedicated (preview)
。
设置 |
建议的值 |
描述 |
订阅 |
订阅名称 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
名称 |
myasa |
用于标识 Azure Spring Apps 服务的唯一名称。 该名称必须为 4 到 32 个字符,只能包含小写字母、数字及连字符。 服务名称的第一个字符必须是字母,最后一个字符必须是字母或数字。 |
计划 |
标准消耗和专用型(预览版) |
定价计划会确定与实例关联的资源和成本。 |
区域 |
离用户最近的区域 |
最靠近用户的位置。 |
容器应用环境 |
myacaenv |
环境是围绕一个或多个容器应用的安全边界,这些应用可以相互通信并共享虚拟网络、日志记录和 Dapr 配置。 |
(可选)创建容器应用环境。
在“基本信息”选项卡中填写以下信息:
- 环境名称:myacaenv
- 计划:消耗
- 区域冗余:已禁用
选择“创建”以创建容器应用环境。
在“基本信息”选项卡中填写以下信息:
- 环境名称:myacaenv
- 计划:(预览版)消耗型和专用型工作负载配置文件
- 区域冗余:已禁用
选择“工作负载配置文件(预览版)”选项卡,然后选择“添加工作负载配置文件”,以添加工作负载配置文件。
在“添加工作负载配置文件(预览版)”页面上,添加以下信息:
- 工作负载配置文件名称:my-wlp
- 工作负载配置文件大小:请选择“专用-D4”
- 自动扩缩实例计数范围:选择“3”和“5”
选择 添加 。 选择后会返回到“添加工作负载配置文件(预览版)”页。 选择“my-wlp”,然后选择“创建”以创建容器应用环境。
选择“查看 + 创建”,查看所选内容。 选择“创建”来预配 Azure Spring Apps 实例。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。
选择“转到资源”,转到“Azure Spring Apps 概述”页面。
使用以下步骤来创建所需的资源:
使用以下命令通过 OAuth2 登录到 Azure CLI。 如果已登录,请忽略此步骤。
azd auth login
控制台输出类似于以下示例的消息:
Logged in to Azure.
运行以下命令,以将模板的基础结构预配到 Azure:
azd provision
以下列表描述了命令交互:
-
选择要使用的 Azure 订阅:使用箭头移动,键入以进行筛选,然后按 Enter。
-
选择要使用的 Azure 位置:使用箭头移动,键入以进行筛选,然后按 Enter。
控制台输出类似于以下示例的消息:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name>-<random-string>> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
注意
这可能需要一段时间才能完成。 预配 Azure 资源时,将会看到进度指示器。
4. 将应用部署到 Azure Spring Apps
上一部分中的“部署到 Azure”按钮将启动包含应用程序部署的 Azure 门户体验,因此无需执行任何其他操作。
按照以下步骤,使用适用于 Azure Spring Apps 的 Maven 插件进行部署:
导航到完整目录,然后运行以下命令以在 Azure Spring Apps 中配置应用:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
-
选择订阅:选择所创建的 Azure Spring Apps 实例的订阅列表编号,它默认为列表中的第一个订阅。 如果使用默认编号,请直接按 Enter。
-
使用 Azure 中的现有 Azure Spring Apps:按 y 使用现有的 Azure Spring Apps 实例。
-
选择要部署的 Azure Spring Apps:选择所创建的 Azure Spring Apps 实例的列表编号。 如果使用默认编号,请直接按 Enter。
- 在 Azure Spring Apps <your-instance-name> 中使用现有应用:按 n 创建新应用。
- 输入应用名称(演示):提供应用名称。 如果使用默认的项目工件 ID,请直接按 Enter。
- 公开此应用的公共访问权限 (boot-for-azure):按 y。
-
确认保存上述所有配置:按 y。 如果按 n,则配置不会保存在 POM 文件中。
使用以下命令部署应用:
./mvnw azure-spring-apps:deploy
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
执行命令后,你会从以下日志消息中看到部署已成功:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:demo--default-xxxxxxx-xxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:NONE
[INFO] Getting public url of app(demo)...
[INFO] Application url: https://demo.<unique-identifier>.<region-name>.azurecontainerapps.io
按照以下步骤打包应用,预配 Web 应用程序所需的 Azure 资源,然后部署到 Azure Spring Apps:
使用以下命令打包应用程序的可部署副本:
azd package
控制台输出类似于以下示例的消息:
SUCCESS: Your application was packaged for Azure in xx seconds.
使用以下命令将应用程序代码部署到这些新预配的资源:
azd deploy
控制台输出类似于以下示例的消息:
Deploying services (azd deploy)
(✓) Done: Deploying service demo
- Endpoint: https://demo.xxx.<your-azure-___location>.azurecontainerapps.io
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
2. 准备 Spring 项目
下一部分中的“部署到 Azure”按钮将启动 Azure 门户体验,该体验从 GitHub 上的 spring-cloud-azure-tools 发布页面下载 JAR 包。 不需要本地准备步骤。
使用以下步骤来准备项目:
使用以下命令从 GitHub 克隆适用于 Azure 的 Spring Boot 示例项目。
git clone https://github.com/spring-guides/gs-spring-boot-for-azure.git
使用以下命令移动到项目文件夹:
cd gs-spring-boot-for-azure/complete
使用以下 Maven 命令生成项目:
./mvnw clean package
使用以下命令在本地运行示例项目:
./mvnw spring-boot:run
按照以下步骤通过 Azure Developer CLI 模板初始化应用程序。
打开终端,创建一个空文件夹,然后将目录更改为该文件夹。
使用以下命令来初始化项目:
azd init --template spring-guides/gs-spring-boot-for-azure
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
-
请输入新的环境名称:提供环境名称,该名称将用作为保存所有 Azure 资源而创建的资源组的后缀。 此名称应在 Azure 订阅中具有唯一性。
控制台输出类似于以下示例的消息:
Initializing a new project (azd init)
(✓) Done: Initialized git repository
(✓) Done: Downloading template code to: <your-local-path>
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. 准备云环境
本部分介绍如何创建 Azure Spring Apps 服务实例和准备 Azure 云环境。
本部分使用“部署到 Azure”按钮在 Azure 门户中启动部署体验。 此体验使用 ARM 模板来创建 Azure 资源。
3.1. 登录到 Azure 门户
转到 Azure 门户,输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure 资源
按以下步骤创建应用依赖的所有 Azure 资源:
选择以下“部署到 Azure”按钮在 Azure 门户中启动部署体验:
填写“基本信息”选项卡上的表单。填写表单时,请参考下表:
设置 |
建议的值 |
描述 |
订阅 |
你的订阅名称。 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
区域 |
离用户最近的区域。 |
此区域用于创建资源组。 |
选择“查看 + 创建”,查看所选内容。 然后选择“创建”将应用部署到 Azure Spring Apps。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。 选择“转到资源”以打开服务的“概述”页。
3.1. 登录到 Azure 门户
打开 Web 浏览器,并转到 Azure 门户。 输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure Spring Apps 实例
遵循以下步骤来创建服务实例:
在 Azure 门户一角选择“创建资源”。
选择“计算>Azure Spring Apps”。
填写“基本”表单,其中包含以下信息:
设置 |
建议的值 |
描述 |
订阅 |
订阅名称 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
名称 |
myasa |
用于标识 Azure Spring Apps 服务的唯一名称。 该名称必须为 4 到 32 个字符,只能包含小写字母、数字及连字符。 服务名称的第一个字符必须是字母,最后一个字符必须是字母或数字。 |
计划 |
标准 |
定价计划确定与实例关联的资源和成本。 |
区域 |
离用户最近的区域 |
最靠近用户的位置。 |
区域冗余 |
未选定 |
指示是否在 Azure 可用性区域中创建 Azure Spring Apps 服务。 此功能目前在所有区域都不受支持。 |
选择“查看 + 创建”,查看所选内容。 选择“创建”来预配 Azure Spring Apps 实例。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。
选择“转到资源”,转到“Azure Spring Apps 概述”页面。
使用以下步骤来创建所需的资源:
使用以下命令通过 OAuth2 登录到 Azure CLI。 如果已登录,请忽略此步骤。
azd auth login
控制台输出类似于以下示例的消息:
Logged in to Azure.
使用以下命令通过标准计划设置模板:
azd env set PLAN standard
使用以下命令打包应用程序的可部署副本,将模板的基础结构预配到 Azure,然后将应用程序代码部署到这些新预配的资源:
azd provision
以下列表描述了命令交互:
-
选择要使用的 Azure 订阅:使用箭头移动,键入以进行筛选,然后按 Enter。
-
选择要使用的 Azure 位置:使用箭头移动,键入以进行筛选,然后按 Enter。
控制台输出类似于以下示例的消息:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name>-<random-string>> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
注意
这可能需要一段时间才能完成。 预配 Azure 资源时,系统会显示进度指示器。
4. 将应用部署到 Azure Spring Apps
上一部分中的“部署到 Azure”按钮将启动包含应用程序部署的 Azure 门户体验,因此无需执行任何其他操作。
按照以下步骤,使用适用于 Azure Spring Apps 的 Maven 插件进行部署:
导航到完整目录,然后运行以下命令以在 Azure Spring Apps 中配置应用:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
-
选择订阅:选择所创建的 Azure Spring Apps 实例的订阅列表编号,它默认为列表中的第一个订阅。 如果使用默认编号,请直接按 Enter。
-
使用 Azure 中的现有 Azure Spring Apps:按 y 使用现有的 Azure Spring Apps 实例。
-
选择要部署的 Azure Spring Apps:选择所创建的 Azure Spring Apps 实例的列表编号。 如果使用默认编号,请直接按 Enter。
- 在 Azure Spring Apps <your-instance-name> 中使用现有应用:按 n 创建新应用。
- 输入应用名称(演示):提供应用名称。 如果使用默认的项目工件 ID,请直接按 Enter。
- 公开此应用的公共访问权限 (boot-for-azure):按 y。
-
确认保存上述所有配置:按 y。 如果按 n,则配置不会保存在 POM 文件中。
使用以下命令部署应用:
./mvnw azure-spring-apps:deploy
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
执行命令后,你会从以下日志消息中看到部署已成功:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:demo-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:UNREGISTERED
[INFO] InstanceName:demo-default-x-xxxxxxxxx-xxxxx Status:Terminating Reason:null DiscoverStatus:UNREGISTERED
[INFO] Getting public url of app(demo)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-demo.azuremicroservices.io
按照以下步骤打包应用,预配 Web 应用程序所需的 Azure 资源,然后部署到 Azure Spring Apps:
使用以下命令打包应用程序的可部署副本:
azd package
控制台输出类似于以下示例的消息:
SUCCESS: Your application was packaged for Azure in xx seconds.
使用以下命令将应用程序代码部署到这些新预配的资源:
azd deploy
控制台输出类似于以下示例的消息:
Deploying services (azd deploy)
(✓) Done: Deploying service demo
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-demo.azuremicroservices.io/
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
2. 准备 Spring 项目
下一部分中的“部署到 Azure”按钮将启动 Azure 门户体验,该体验从 GitHub 上的 spring-cloud-azure-tools 发布页面下载 JAR 包。 不需要本地准备步骤。
使用以下步骤来准备项目:
使用以下命令从 GitHub 克隆适用于 Azure 的 Spring Boot 示例项目。
git clone https://github.com/spring-guides/gs-spring-boot-for-azure.git
使用以下命令移动到项目文件夹:
cd gs-spring-boot-for-azure/complete
使用以下 Maven 命令生成项目:
./mvnw clean package
使用以下命令在本地运行示例项目:
./mvnw spring-boot:run
使用以下步骤来准备项目:
使用以下命令从 GitHub 克隆适用于 Azure 的 Spring Boot 示例项目。
git clone https://github.com/spring-guides/gs-spring-boot-for-azure.git
使用以下命令移动到项目文件夹:
cd gs-spring-boot-for-azure/complete
使用以下 Maven 命令生成项目:
./mvnw clean package
使用以下命令在本地运行示例项目:
./mvnw spring-boot:run
使用以下步骤创建项目:
使用以下命令从 start.spring.io
生成示例项目,其中包含 Azure Spring Apps 的推荐依赖项:
curl https://start.spring.io/starter.tgz -d dependencies=web -d baseDir=demo -d bootVersion=3.0.0 -d javaVersion=17 -d type=maven-project -d groupId=com.example -d artifactId=demo -d name=demo -d packageName=com.example.demo -d packaging=jar | tar -xzvf -
通过添加包含以下内容的文件 src/main/java/com/example/demo/HelloController.java 来为 Web 应用程序创建 Web 控制器:
package com.example.demo;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
@RestController
public class HelloController {
@RequestMapping("/")
public String index() {
return "Hello World";
}
}
使用以下 Maven 命令生成项目:
./mvnw clean package
使用以下命令在本地运行示例项目:
./mvnw spring-boot:run
3. 准备云环境
本部分介绍如何创建 Azure Spring Apps 服务实例和准备 Azure 云环境。
本部分使用“部署到 Azure”按钮在 Azure 门户中启动部署体验。 此体验使用 ARM 模板来创建 Azure 资源。
3.1. 登录到 Azure 门户
转到 Azure 门户,输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure 资源
按以下步骤创建应用依赖的所有 Azure 资源:
选择以下“部署到 Azure”按钮在 Azure 门户中启动部署体验:
填写“基本信息”选项卡上的表单。填写表单时,请参考下表:
设置 |
建议的值 |
描述 |
订阅 |
你的订阅名称。 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
区域 |
离用户最近的区域。 |
此区域用于创建资源组。 |
选择“查看 + 创建”,查看所选内容。 然后选择“创建”将应用部署到 Azure Spring Apps。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。 选择“转到资源”以打开服务的“概述”页。
3.1. 登录到 Azure 门户
转到 Azure 门户,输入登录到门户所需的凭据。 默认视图是服务仪表板。
3.2. 创建 Azure Spring Apps 实例
请执行以下步骤来创建服务实例:
在 Azure 门户一角选择“创建资源”。
选择“计算>Azure Spring Apps”。
填写“基本”表单,其中包含以下信息:
设置 |
建议的值 |
描述 |
订阅 |
你的订阅名称。 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
名称 |
myasa |
用于标识 Azure Spring Apps 服务的唯一名称。 该名称必须为 4 到 32 个字符,只能包含小写字母、数字及连字符。 服务名称的第一个字符必须是字母,最后一个字符必须是字母或数字。 |
区域 |
离用户最近的区域。 |
最靠近用户的位置。 |
托管选项和计划 |
企业 |
定价计划确定与实例关联的资源和成本。 |
区域冗余 |
未选定 |
在 Azure 可用性区域中创建 Azure Spring Apps 服务的选项。 此功能目前在所有区域都不受支持。 |
软件 IP 计划 |
即用即付 |
使用 Azure Spring Apps 进行即用即付的定价计划。 |
部署示例项目 |
未选定 |
使用内置示例应用程序的选项。 |
选择“查看 + 创建”,查看所选内容。 然后,选择“创建”以预配 Azure Spring Apps 实例。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。
选择“转到资源”,转到“Azure Spring Apps 概述”页面。
3.1. 提供每个资源的名称
使用以下命令创建变量以保存资源名称。 请务必将占位符替换为你自己的值。
export LOCATION="<region>"
export RESOURCE_GROUP="<resource-group-name>"
export SERVICE_NAME="<Azure-Spring-Apps-instance-name>"
export APP_NAME="demo"
3.2. 创建新的资源组
按照以下步骤创建新的资源组:
使用以下命令登录到 Azure CLI:
az login
使用以下命令设置默认位置:
az configure --defaults ___location=${LOCATION}
使用以下命令列出所有可用的订阅,以确定要使用的订阅 ID:
az account list --output table
使用以下命令设置默认订阅:
az account set --subscription <subscription-ID>
使用以下命令来创建资源组:
az group create --resource-group ${RESOURCE_GROUP}
使用以下命令将新创建的资源组设置为默认资源组:
az configure --defaults group=${RESOURCE_GROUP}
3.3. 安装扩展并注册命名空间
使用以下命令安装适用于 Azure CLI 的 Azure Spring Apps 扩展并注册命名空间:Microsoft.SaaS
。
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
3.4. 创建 Azure Spring Apps 实例
请执行以下步骤来创建服务实例:
使用以下命令接受企业计划的法律条款和隐私声明:
注意
仅当订阅从未用于创建 Azure Spring Apps 企业计划实例时,才需要执行此步骤。
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
使用以下命令创建 Azure Spring Apps 服务实例:
az spring create \
--name ${SERVICE_NAME} \
--sku Enterprise
3.5. 在 Azure Spring Apps 实例中创建应用
应用是一个商业应用的抽象。 有关详细信息,请参阅 Azure Spring Apps 中的应用和部署。 应用在 Azure Spring Apps 服务实例中运行,如下图所示。
使用以下命令在 Azure Spring Apps 上创建应用:
az spring app create \
--service ${SERVICE_NAME} \
--name ${APP_NAME} \
--assign-endpoint true
3.1. 登录到 Azure 门户
打开 Web 浏览器,导航到 Azure 门户,然后输入凭据以登录到门户。 默认视图是服务仪表板。
3.2. 创建 Azure Spring Apps 实例
请执行以下步骤来创建服务实例:
在 Azure 门户一角选择“创建资源”。
选择“计算>Azure Spring Apps”。
填写“基本”表单,其中包含以下信息:
设置 |
建议的值 |
描述 |
订阅 |
你的订阅名称。 |
要用于服务器的 Azure 订阅。 如果你有多个订阅,请选择要计费的资源所在的订阅。 |
资源组 |
myresourcegroup |
新的资源组名称,或订阅中的现有资源组。 |
名称 |
myasa |
用于标识 Azure Spring Apps 服务的唯一名称。 该名称必须为 4 到 32 个字符,只能包含小写字母、数字及连字符。 服务名称的第一个字符必须是字母,最后一个字符必须是字母或数字。 |
区域 |
离用户最近的区域。 |
最靠近用户的位置。 |
托管选项和计划 |
企业 |
定价计划确定与实例关联的资源和成本。 |
区域冗余 |
未选定 |
在 Azure 可用性区域中创建 Azure Spring Apps 服务的选项。 此功能目前在所有区域都不受支持。 |
软件 IP 计划 |
即用即付 |
使用 Azure Spring Apps 进行即用即付的定价计划。 |
部署示例项目 |
未选定 |
使用内置示例应用程序的选项。 |
选择“查看 + 创建”,查看所选内容。 然后,选择“创建”以预配 Azure Spring Apps 实例。
在工具栏上选择“通知”图标(铃铛)以监视部署过程。 完成部署后,可以选择“固定到仪表板”,以便在 Azure 门户仪表板上为此服务创建磁贴作为前往此服务的“概述”页的快捷方式。
选择“转到资源”,转到“Azure Spring Apps 概述”页面。
4. 将应用部署到 Azure Spring Apps
上一部分中的“部署到 Azure”按钮将启动包含应用程序部署的 Azure 门户体验,因此无需执行任何其他操作。
按照以下步骤,使用适用于 Azure Spring Apps 的 Maven 插件进行部署:
导航到完整目录,然后运行以下命令以在 Azure Spring Apps 中配置应用:
./mvnw com.microsoft.azure:azure-spring-apps-maven-plugin:1.19.0:config
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
-
选择订阅:选择所创建的 Azure Spring Apps 实例的订阅列表编号,它默认为列表中的第一个订阅。 如果使用默认编号,请直接按 Enter。
-
使用 Azure 中的现有 Azure Spring Apps:按 y 使用现有的 Azure Spring Apps 实例。
-
选择要部署的 Azure Spring Apps:选择所创建的 Azure Spring Apps 实例的列表编号。 如果使用默认编号,请直接按 Enter。
- 在 Azure Spring Apps <your-instance-name> 中使用现有应用:按 n 创建新应用。
- 输入应用名称(演示):提供应用名称。 如果使用默认的项目工件 ID,请直接按 Enter。
- 公开此应用的公共访问权限 (boot-for-azure):按 y。
-
确认保存上述所有配置:按 y。 如果按 n,则配置不会保存在 POM 文件中。
使用以下命令部署应用:
./mvnw azure-spring-apps:deploy
以下列表描述了命令交互:
- OAuth2 登录:你需要根据 OAuth2 协议授权到 Azure 的登录。
执行命令后,你会从以下日志消息中看到部署已成功:
[INFO] Deployment(default) is successfully created
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
[INFO] InstanceName:demo-default-x-xxxxxxxxxx-xxxxx Status:Running Reason:null DiscoverStatus:N/A
[INFO] Getting public url of app(demo)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-demo.azuremicroservices.io
使用以下命令为应用部署 .jar 文件:
az spring app deploy \
--service ${SERVICE_NAME} \
--name ${APP_NAME} \
--artifact-path target/demo-0.0.1-SNAPSHOT.jar
部署应用程序可能需要几分钟时间。
本部分提供了将应用程序部署到 Azure Spring Apps 的步骤。
4.1. 导入项目
使用下列步骤导入项目:
打开 IntelliJ IDEA 并选择“打开”。
在“打开文件或项目”对话框中,选择“demo”文件夹。
4.2。 生成并部署你的应用
使用以下步骤生成并部署应用:
如果尚未安装 Azure Toolkit for IntelliJ,请按照安装 Azure Toolkit for IntelliJ 中的步骤操作。
注意
Azure Toolkit for IntelliJ 提供了四种登录 Azure 的方式,登录后才能开始部署。
在 IntelliJ 项目窗口中右键单击项目,然后选择“Azure”->“部署到 Azure Spring Apps”。
在“名称”字段中接受应用的名称。 “名称”是指配置,不是应用名称。 通常不需更改它。
在“项目”文本框中,选择“Maven:demo(Java 17)”。
在“订阅”文本框中,验证订阅是否正确。
在“Spring Apps”文本框中,选择你创建的 Azure Spring Apps 实例。
在“应用”文本框中,选择加号 () 以创建新应用。
在“应用基础信息”下的“应用名称:”文本框中,输入“demo”,然后选择“更多设置”。
选择“公共终结点”旁边的“启用”按钮 。 该按钮变为“禁用”<待启用>。 选择“确定”。
在“启动之前”下,选择“运行 Maven 目标 demo:package”,然后选择铅笔图标以编辑该命令行。
在“命令行”文本框中,在“package”后面输入“-DskipTests”,然后选择“确定”。
若要开始部署,请选择“部署到 Azure”对话框底部的“运行”按钮。 插件在 package -DskipTests
应用上运行 demo
命令,并部署由 命令生成的 .jar 文件。
部署应用程序可能需要几分钟时间。 可以在输出控制台日志中看到应用程序的公共 URL。
5. 验证应用
本部分介绍如何验证你的应用程序。
部署完成后,从部署输出中找到应用程序 URL。 按照以下步骤来验证:
从“部署”的“输出”页访问应用程序 URL。 打开应用时,你会得到响应 Hello World
。
查看每个资源部署的详细信息,这些信息用于调查任何部署问题。
部署完成后,使用输出应用程序 URL 来访问应用程序。 按以下步骤检查应用程序的日志,以调查任何部署问题:
从“部署”的“输出”页访问输出应用程序 URL。 打开应用时,你会得到响应 Hello World
。
在 Azure Spring Apps 实例“概述”页面的导航窗格中,选择“日志”以检查应用的日志。
部署完成后,使用输出终结点来访问应用程序。 打开应用时,你会得到响应 Hello World
。
部署完成后,使用以下步骤可以从部署输出中找到应用程序 URL:
从“部署”的“输出”页访问应用程序 URL。 打开应用时,你会得到响应 Hello World
。
查看每个资源部署的详细信息,这些信息用于调查任何部署问题。
部署完成后,使用以下步骤检查应用程序的日志,以调查任何部署问题:
从“部署”的“输出”页访问应用程序 URL。 打开应用时,你会得到响应 Hello World
。
在 Azure Spring Apps 实例概述页的导航窗格中,选择“日志”以检查应用的日志。
部署完成后,使用输出终结点来访问应用程序。 打开应用时,你会得到响应 Hello World
。
部署完成后,使用以下步骤可以从部署输出中找到应用程序 URL:
从“部署”的“输出”页访问应用程序 URL。 打开应用时,你会得到响应 Hello World
。
查看每个资源部署的详细信息,这些信息用于调查任何部署问题。
部署完成后,使用以下步骤验证应用:
访问应用程序 URL。 打开应用时,你会得到响应 Hello World
。
查看控制台日志,它们对于调查任何部署问题都很有用。
部署完成后,使用以下步骤检查应用程序的日志,以调查任何部署问题:
使用输出的应用程序 URL 来访问应用程序。 打开应用时,你会得到响应 Hello World
。
使用以下命令检查应用程序的日志,以调查任何部署问题:
az spring app logs \
--service ${SERVICE_NAME} \
--name ${APP_NAME}
请使用以下步骤流式传输应用程序日志:
使用输出的应用程序 URL 来访问应用程序。 打开应用时,你会得到响应 Hello World
。
打开“Azure 资源管理器”窗口,展开节点“Azure”,展开服务节点“Azure Spring Apps”,展开创建的 Azure Spring Apps 实例,然后选择所创建应用的演示实例。
右键单击并选择“开始流式传输日志”,然后选择“确定”以查看实时应用程序日志。
6.清理资源
如果打算继续使用后续的快速入门和教程,则可能需要保留这些资源。 不再需要资源时,可以清理不必要的资源以避免 Azure 费用。
按以下步骤删除整个资源组,包括新创建的服务实例:
- 在 Azure 门户中查找资源组。 在导航菜单上,选择“资源组”,然后选择资源组的名称。
按以下步骤删除整个资源组,包括新创建的服务实例:
- 在 Azure 门户中查找资源组。 在导航菜单上,选择“资源组”,然后选择资源组的名称。
使用 Azure CLI 用以下命令删除资源组:
az group delete --name ${RESOURCE_GROUP}
使用 IntelliJ 按以下步骤删除资源组:
转到 IntelliJ IDEA 并找到资源组的名称。
右键单击该资源组,并选择“删除”,删除所有相关的 Azure 资源。
使用 Visual Studio Code 按以下步骤删除资源组:
转到 Visual Studio Code,选择“分组依据”以启用“按资源组分组”,然后找到资源组的名称。
右键单击该资源组,并选择“删除资源组”以删除所有相关的 Azure 资源。
按以下步骤删除整个资源组,包括新创建的服务实例:
- 在 Azure 门户中查找资源组。 在导航菜单上,选择“资源组”,然后选择资源组的名称。
按以下步骤删除整个资源组,包括新创建的服务实例:
- 在 Azure 门户中查找资源组。 在导航菜单上,选择“资源组”,然后选择资源组的名称。
使用以下命令删除此示例应用程序中使用的所有 Azure 资源:
azd down
以下列表描述了命令交互:
-
要删除的资源总数:<your-resources-total>,是否确实要继续?:按 y。
控制台输出类似于以下示例的消息:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
7. 后续步骤
有关详细信息,请参阅以下文章: