开篇词
本文引导你将应用部署到 Azure。
建议你检查官方的 Azure 文档以获取有关同一任务的最新说明。
你将创建的应用
我们将从 GitHub 克隆一个示例 Spring Boot 应用,然后使用 Maven 将其部署到 Azure。
你将需要
为了执行本文中的步骤,需要满足以下先决条件:
- Azure 订阅。如果我们还没有 Azure 订阅,则可以注册一个免费的 Azure 账户或激活我们的 MSDN 订阅者权益;
- 最新的 Java Development Kit(JDK),版本 1.8 或更高版本;
- 一个 Git 客户。
在本地构建并运行示例 Spring Boot Web 应用
在该部分中,我们将克隆一个已经编写好的 Spring Boot 应用并在本地对其进行测试:
- 打开终端;
- 通过输入
mkdir SpringBoot
创建一个本地目录来保存我们的 Spring Boot 应用; - 通过键入
cd SpringBoot
转到该目录; - 通过键入
git clone https://github.com/spring-guides/gs-spring-boot
将 Spring Boot 入门示例项目克隆到我们常见的目录中; - 通过键入
cd gs-spring-boot/complete
转到完成的项目的目录; - 通过键入
./mvnw clean package
使用 Maven 构建 JAR 文件; - 创建 Web 应用后,通过键入
./mvnw spring-boot:run
来启动它; - 通过访问 http://localhost:8080 或从另一个终端窗口键入
curl http://localhost:8080
; - 我们应该看到显示以下消息:Greetings from Spring Boot!
配置并部署应用至 Azure
- 在终端中,键入
./mvnw com.microsoft.azure:azure-webapp-maven-plugin:1.8.0:config
,使用适用于 Azure Web App 的 Maven 插件配置 Web 应用。该重要目标首先通过 Azure 进行身份验证,如果我们已经使用 Azure CLI 登陆,它将使用其现有的身份验证令牌。否则,它将使我们自动使用 azure-maven-plugin 登陆。 - 然后,我们可以对部署进行配置,在命令提示符中运行 maven 命令,并通过按 Enter 使用默认配置,直到出 Confirm (Y / N) 提示,按 ‘y’ 并完成配置。
~@Azure:~/gs-spring-boot/complete$ mvn azure-webapp:config
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< org.springframework:gs-spring-boot >-----------------
[INFO] Building gs-spring-boot 0.1.0
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:1.6.0:config (default-cli) @ gs-spring-boot ---
[WARNING] The plugin may not work if you change the os of an existing webapp.
Define value for OS(Default: Linux):
1. linux [*]
2. windows
3. docker
Enter index to use:
Define value for javaVersion(Default: Java 8):
1. Java 11
2. Java 8 [*]
Enter index to use:
Please confirm webapp properties
AppName : gs-spring-boot-1559091271202
ResourceGroup : gs-spring-boot-1559091271202-rg
Region : westeurope
PricingTier : Premium_P1V2
OS : Linux
RuntimeStack : JAVA 8-jre8
Deploy to slot : false
Confirm (Y/N)? : Y
- 然后,打开 pom.xml 以查看所有编写的配置,并将
<appSettings>
部分添加到<azure-webapp-maven-plugin>
的<configuration>
部分,以侦听80
端口。
<plugin>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-webapp-maven-plugin</artifactId>
<version>1.8.0</version>
<configuration>
<schemaVersion>V2</schemaVersion>
<resourceGroup>gs-spring-boot-1559091271202-rg</resourceGroup>
<appName>gs-spring-boot-1559091271202</appName>
<region>westeurope</region>
<pricingTier>P1V2</pricingTier>
<runtime>
<os>linux</os>
<javaVersion>jre8</javaVersion>
<webContainer>jre8</webContainer>
</runtime>
<!-- Begin of App Settings -->
<appSettings>
<property>
<name>JAVA_OPTS</name>
<value>-Dserver.port=80</value>
</property>
</appSettings>
<!-- End of App Settings -->
<deployment>
<resources>
<resource>
<directory>${project.basedir}/target</directory>
<includes>
<include>*.jar</include>
</includes>
</resource>
</resources>
</deployment>
</configuration>
</plugin>
- 配置完本文前面各节中的所有设置后,即可使用
mvn azure-webapp:deploy
将 Web 应用部署到 Azure。Maven 将我们的 Web 应用部署到 Azure。如果该网络应用或网络应用计划尚不存在,则会为我们创建该计划。可能需要花费几分钟,才能通过输出中显示的 URL 访问 Web 应用。在 Web 浏览器中导航到 URL。我们应该看到显示的消息:Greetings from Spring Boot!
概述
恭喜你!我们已将 Spring Boot 应用构建并部署到 Azure。我们可以访问 Azure 门户进行管理。
参见
有关将 Spring 与 Azure 结合使用的其他信息,请参见:
想看指南的其他内容?请访问该指南的所属专栏:《Spring 官方指南》