你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
快速入门:在 Azure Spring Apps 中部署你的第一个应用程序
本文内容
本文介绍了如何部署一个要在 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.先决条件
2. 准备 Spring 项目
使用以下步骤来准备项目:
使用以下命令从 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 项目
使用以下步骤来准备项目:
使用以下命令从 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 项目
使用以下步骤来准备项目:
使用以下命令从 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 ”对话框底部的“运行 ”按钮。 插件在 demo
应用上运行 package -DskipTests
命令,并部署由 package
命令生成的 .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. 后续步骤
有关详细信息,请参阅以下文章: