本文引导您完成将应用程序部署到Azure的过程。
你会建立什么
您将从GitHub克隆示例Spring Boot应用程序,然后使用Maven将其部署到Azure。
你需要什么
为了执行本文中的步骤,需要满足以下先决条件:
-
Azure订阅。如果您还没有Azure订阅,则可以注册一个免费的Azure帐户或激活MSDN订阅者权益 。
-
最新的Java Development Kit(JDK)版本1.8或更高版本。
-
一个Git客户。
创建一个示例Spring Boot Web应用
在本部分中,您将克隆一个已经编写的Spring Boot应用程序并在本地对其进行测试:
-
打开一个终端窗口。
-
通过键入以下内容创建一个本地目录来保存您的Spring Boot应用程序
mkdir SpringBoot
-
通过键入更改到该目录
cd SpringBoot
。 -
将Spring Boot入门示例项目克隆到您通过键入创建的目录中
git clone https://github.com/microsoft/gs-spring-boot
-
通过键入更改为已完成项目的目录
cd gs-spring-boot/complete
-
通过键入以下内容使用Maven构建JAR文件:
./mvnw clean package
-
创建Web应用程序后,通过键入以下内容启动它
./mvnw spring-boot:run
-
通过访问http:// localhost:8080或键入本地测试
curl http://localhost:8080
从另一个终端窗口。 -
您应该看到显示以下消息: Spring Boot的问候!
创建一个Azure服务主体
-
打开一个终端窗口。
-
通过键入以下内容以使用Azure CLI登录到您的Azure帐户
az login
-
通过键入创建Azure服务主体
az ad sp create-for-rbac --name "uuuuuuuu" --password "pppppppp"
(uuuuuuuu
是用户名,pppppppp
是服务主体的密码)。Azure应该打印出类似于以下内容的JSON响应:
{ "appId": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa", "displayName": "uuuuuuuu", "name": "http://uuuuuuuu", "password": "pppppppp", "tenant": "tttttttt-tttt-tttt-tttt-tttttttttttt" }
注意这些值,因为它们将在以后使用。 |
配置Maven以使用您的Azure服务主体
在本部分中,您将配置Maven以使用Azure服务主体进行Web应用程序部署进行身份验证。
-
打开你的Maven
settings.xml
文本编辑器中的文件(通常在任一/etc/maven/settings.xml
要么$HOME/.m2/settings.xml
)。 -
将本教程前面部分中的Azure服务主体设置添加到
在settings.xml文件中的集合,如下所示:<servers> <server> <id>azure-auth</id> <configuration> <client>aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa</client> <tenant>tttttttt-tttt-tttt-tttt-tttttttttttt</tenant> <key>pppppppp</key> <environment>AZURE</environment> </configuration> </server> </servers>
-
保存并关闭settings.xml文件。
有关文档,请参阅适用于Azure Web Apps的Maven插件 。 |
构建您的应用并将其部署到Azure
配置完前面几节中的所有设置之后,就可以将Web应用程序部署到Azure了。
在终端窗口中,通过键入以下内容,将您的Web应用程序通过Maven部署到Azure ./mvnw azure-webapp:deploy
。(Maven将使用您先前克隆的示例项目的构建文件中已有的插件将Web应用程序部署到Azure。如果该网络应用尚不存在,则会创建它。)
部署Web应用程序后,请访问Azure门户进行管理。它将在App Services中列出,如下所示:

单击该应用程序。从那里开始,您的Web应用程序的公开URL将在“ 概述”部分列出:

您可以单击此链接来访问Spring Boot应用程序并与其进行交互。
摘要
恭喜你!您已构建Spring Boot应用并将其部署到Azure。
也可以看看
有关将Spring与Azure结合使用的其他信息,请参见:
是否要编写新指南或为现有指南做出贡献?查看我们的贡献准则 。
所有指南均以代码的ASLv2许可证和写作的Attribution,NoDerivatives创作共用许可证发布 。 |