SpringBoot 2 应用部署至 Azure 云服务

开篇词

本文引导你将应用部署到 Azure。

建议你检查官方的 Azure 文档以获取有关同一任务的最新说明。

你将创建的应用

我们将从 GitHub 克隆一个示例 Spring Boot 应用,然后使用 Maven 将其部署到 Azure。
 

你将需要

为了执行本文中的步骤,需要满足以下先决条件:

在本地构建并运行示例 Spring Boot Web 应用

在该部分中,我们将克隆一个已经编写好的 Spring Boot 应用并在本地对其进行测试:

  • 打开终端;
  • 通过输入 mkdir SpringBoot 创建一个本地目录来保存我们的 Spring Boot 应用;
  • 通过键入 cd SpringBoot 转到该目录;
  • 通过键入 git clone https://github.com/spring-guides/gs-spring-bootSpring 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

  1. 在终端中,键入 ./mvnw com.microsoft.azure:azure-webapp-maven-plugin:1.8.0:config,使用适用于 Azure Web App 的 Maven 插件配置 Web 应用。该重要目标首先通过 Azure 进行身份验证,如果我们已经使用 Azure CLI 登陆,它将使用其现有的身份验证令牌。否则,它将使我们自动使用 azure-maven-plugin 登陆。
  2. 然后,我们可以对部署进行配置,在命令提示符中运行 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
  1. 然后,打开 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>
  1. 配置完本文前面各节中的所有设置后,即可使用 mvn azure-webapp:deploy 将 Web 应用部署到 Azure。Maven 将我们的 Web 应用部署到 Azure。如果该网络应用或网络应用计划尚不存在,则会为我们创建该计划。可能需要花费几分钟,才能通过输出中显示的 URL 访问 Web 应用。在 Web 浏览器中导航到 URL。我们应该看到显示的消息:Greetings from Spring Boot!
     

概述

恭喜你!我们已将 Spring Boot 应用构建并部署到 Azure。我们可以访问 Azure 门户进行管理。
 

参见

有关将 Spring 与 Azure 结合使用的其他信息,请参见:

想看指南的其他内容?请访问该指南的所属专栏:《Spring 官方指南

发布了224 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/stevenchen1989/article/details/104972931