使用用于 IntelliJ 的 Azure 工具包将 Spring Boot 应用作为 Docker 容器发布

Spring Framework 是一种开放源代码解决方案,可帮助 Java 开发人员创建企业级应用程序。 基于该平台构建的其中一个更常用的项目是 Spring Boot,该项目提供了简化的方法来创建独立的 Java 应用程序。

Docker 是一种开放源代码解决方案,可帮助开发人员自动部署、扩展和管理在容器中运行的应用程序。

本教程介绍使用用于 IntelliJ 的 Azure 工具包将 Spring Boot 应用程序作为 Docker 容器部署到 Azure 的步骤。

先决条件

使用适用于 IntelliJ 的 Azure 工具包需要以下软件组件:

  • IntelliJ IDEA 旗舰版,可从 JetBrains 网站下载。

  • Java 开发人员工具包 (JDK) 1.8 或更高版本。

  • 操作系统。 用于 IntelliJ 的 Azure 工具包已在以下操作系统上通过测试:

    • Windows 10、Windows 8.1、Windows 8 和 Windows 7
    • Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 和 Windows Server 2008
    • Mac OS X 版本“Yosemite”或更高版本
    • Ubuntu Linux 版本 14、15 和 16

有关详细信息,请参阅 JetBrains 插件存储库的 Azure Toolkit for IntelliJ(用于 IntelliJ 的 Azure 工具包)页。

克隆默认 Spring Boot Docker 存储库

以下步骤介绍如何使用 IntelliJ 克隆 Spring Boot Docker 存储库。

  1. 打开 IntelliJ。

  2. 在欢迎屏幕上,选择“从版本控制中签出”列表中的“GitHub”选项。

    用于版本控制的 GitHub 选项

  3. 如果系统提示登录,请输入凭据。

    • 如果使用用户名/密码登录到 GitHub:

      用于输入 GitHub 用户名和密码的对话框

    • 如果使用令牌登录到 GitHub:

      用于输入 GitHub 令牌的对话框

  4. 针对存储库 URL 输入 https://github.com/spring-guides/gs-spring-boot-docker.git,指定本地路径和文件夹信息,然后单击“克隆”。

    “克隆存储库”对话框

  5. 当系统提示创建 IntelliJ 项目时,选择“否”。

    拒绝创建 IntelliJ 项目

  6. 在欢迎屏幕上,单击“导入项目”。

    导入项目选择

  7. 找到克隆了 Spring Boot 存储库的路径,选择根路径下的“complete”文件夹,然后单击“确定”。

    选择用于导入的文件夹

  8. 出现提示时,选择“从现有源创建项目”。

    从现有源创建项目的选项

  9. 指定项目名称或接受默认设置,确认“complete”文件夹的路径正确无误,然后单击“下一步”。

    指定项目名称

  10. 自定义任何用于导入的目录,然后单击“Next”(下一步)。

    选择目录

  11. 查看要导入的库,然后单击“Next”(下一步)。

    查看项目库

  12. 查看模块结构,然后单击“Next”(下一步)。

    查看模块结构

  13. 指定 JDK,然后单击“Next”(下一步)。

    指定 JDK

  14. 单击“完成” 。

    “完成”按钮

IntelliJ 会将 Spring Boot 应用作为项目导入,并在导入完成后显示结构。

IntelliJ 中的 Spring Boot 应用

生成 Spring Boot 应用

使用 Maven POM 生成应用

  1. 如果尚未打开 Maven 工具窗口,请打开它。 单击“视图” > “工具窗口” > “Maven 项目”。

    工具窗口和 Maven 项目命令

  2. 在 Maven 工具窗口中,右键单击“程序包”,然后选择“运行 Maven 生成”。 (如果 Maven 项目未自动显示,请单击 Maven 工具栏上的“重新导入”图标。)

    运行 Maven 生成

  3. 成功创建了 Spring Boot 应用后,IntelliJ 应显示“生成成功”消息。

    生成成功消息

创建随时可用于部署的项目

若要发布 Spring Boot 应用,需要创建一个随时可用于部署的项目。 使用以下步骤:

  1. 在 IntelliJ 中打开 Web 应用项目。

  2. 单击“文件”,然后单击“项目结构”。

    “项目结构”命令

  3. 单击绿色加号(“+”)符号添加项目,然后依次单击“JAR”、“空”。

    添加项目

  4. 在确保不添加“.jar”扩展名的同时命名你的项目,然后指定 Maven 输出的目标文件夹。

    指定项目属性

  5. 创建项目清单(可选):

    a. 单击“Create Manifest”(创建清单)。

    单击“创建清单”按钮

    b. 选择项目的默认路径,然后单击“OK”(确定)。

    指定项目路径

    c. 单击省略号“...”找到主类。

    找到主类

    d.单击“下一步”。 选择主类,然后单击“OK”(确定)。

    指定主类

  6. 单击 “确定”

    关闭“项目结构”对话框

Note

有关在 IntelliJ 中创建项目的详细信息,请参阅 JetBrains 网站上的 Configuring Artifacts(配置项目)。

生成要部署的项目

  1. 单击“Build”(生成),然后单击“Artifacts”(项目)。

    “生成项目”命令

  2. 当出现“Build Artifact”(生成项目)上下文菜单时,请单击“Build”(生成)。

    “生成项目”上下文菜单

IntelliJ 应在项目工具窗口中显示 Spring Boot 应用的已完成项目。

创建的项目

使用 Docker 容器将 Web 应用发布到 Azure

  1. 如果尚未登录到 Azure 帐户,请执行用于 IntelliJ 的 Azure 工具包的登录说明中的步骤。

  2. 在“项目资源管理器”工具窗口中,右键单击该项目,然后选择“Azure” > “Publish as Docker Container”(发布为 Docker 容器)。

    “发布为 Docker 容器”命令

  3. 当显示“在 Azure 上部署 Docker 容器”对话框时,任何现有的 Docker 主机均会显示。 如果选择部署到现有主机,可以跳到步骤 4。 否则,使用以下步骤创建主机:

    a. 单击绿色加号(“+”)符号。

    添加新的 Docker 主机

    b. 当显示“创建 Docker 主机”对话框时,可以选择接受默认设置,也可以为新的 Docker 主机指定任何自定义设置。 (有关各种设置的详细说明,请参阅使用用于 IntelliJ 的 Azure 工具包将 Web 应用发布为 Docker 容器。)在指定了要使用的设置后,单击“下一步”。

    指定 Docker 主机选项

    c. 可以选择使用 Azure Key Vault 中的现有登录凭据,也可以选择输入新的 Docker 登录凭据。 在指定了选项后单击“完成”。

    指定 Docker 主机凭据

  4. 选择 Docker 主机,然后单击“下一步”。

    选择要使用的 Docker 主机

  5. 在“在 Azure 上部署 Docker 容器”对话框的最后一页上,指定以下选项:

    a. 可以选择为要托管 Docker 容器的容器指定一个自定义名称,也可以接受默认设置。

    b. 使用以下语法输入 Docker 主机的 TCP 端口:[外部端口]:[内部端口]。 例如,“80:8080”指定外部端口为“80”,默认的内部 Spring Boot 端口为“8080”。

    如果已自定义内部端口(例如通过编辑 application.yml 文件进行自定义),则需指定端口号,以便在 Azure 中进行正确路由。

    c. 在配置了这些选项后,单击“完成”。

    在 Azure 上部署 Docker 容器

  6. Azure 工具包完成发布后,Azure 活动日志显示状态为“已发布”。

    已成功部署 Docker 主机

后续步骤

有关用于 Java IDE 的 Azure 工具包的详细信息,请查看以下链接:

有关将 Java 与 Azure 配合使用的详细信息,请参阅 Azure Java 开发人员中心用于 Visual Studio Team Services 的 Java 工具

若要了解使用 IntelliJ 创建 Spring Boot 应用的其他方法,请参阅 JetBrains 网站上的创建 Spring Boot 项目