如何在云 Jelastic 上使用 PostgreSQL 部署 Spring Boot 应用程序?

How to deploy Spring Boot application with PostgreSQL on the cloud Jelastic?

我有一个简单的 Spring 引导应用程序,带有 Angular JS 网络客户端和 PostgreSQL 数据库。此时我可以通过 Maven 为我的应用程序创建 JAR 或 WAR。我还有一个有效的 Postgres 数据转储。

有人可以给我一些路线图,告诉我如何在 Jelastic 上成功托管我的应用程序和数据吗?

首先,我的 Jelastic 供应商提供了很好的支持,所以他们提供了很多帮助。

第一部分 是部署应用程序(或者您可以从复制 Postgres 数据开始。这为您提供了必要的信息,以便您可以更正 application.properties 在部署您的应用之前)

  1. 支持建议使用他们的 Maven 插件进行构建。 link: maven-plugin-jelastic
  2. 您应该配置应用程序 class 以便您可以创建可部署的 war。 link: howto-create-a-deployable-war-file
  3. 请注意,您必须禁用 Spring 的嵌入式 Tomcat 启动。 spring-boot-starter-web 依赖项开始嵌入 Tomcat,因此您可以通过以下方式禁用它:
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  1. 然后通过以下方式部署您的应用程序:

mvn jelastic:deploy

  1. 如果您像我一样拥有 Angular 网络客户端,那么您可能需要更正您访问服务器的基础 URL。您没有端口,因此如果您在 Jelastic 上创建环境期间设置了上下文名称,则应添加它。

例如,如果您将 Jelastic 中的上下文命名为 "loc",则基础 URL 将是:

angular.module('localizeApp')
    .constant("baseURL", "/loc/")

    .service('LocalizeData', ['$http', 'baseURL', function ($http, baseURL) {

        this.getConfig = function () {
            return $http.get(baseURL + "config");
        };

部署的第二个部分是将您的 Postgres 本地转储复制到 Jelastic 上。很简单。

  1. 使用 pgAdmin 转储您的 Postgres 数据库。
  2. 使用 Jelastic 在您创建环境时提供给您的信息转到 Jelastic Postgres Web 控制台。
  3. 使用正确的名称创建新数据库。使用密码创建用户。
  4. 如果您的转储不是很大,请转到 Web 控制台中的 SQL 部分并选择上传文件。选择您的转储文件。执行它。就这些了。
  5. 如果你有一个大数据库,那么你可以通过 SCP(见 ssh 连接)上传转储文件并通过命令行导入。例如,支持推荐了 WinSCP。

那么你应该更正 application.properties:

spring.datasource.url=jdbc:postgresql://your_jelastic_postgres_url/your_database

同时设置正确的用户名和密码。

ch,我们很高兴地注意到您,我们已经发表了一篇文章 Hosting Spring Boot Standalone and Clustered Java Applications with Jelastic Cloud

借助 Jelastic 的 Spring 启动堆栈模板,您可以通过易于使用的图形界面或自动化脚本毫不费力地 运行 云中基于各种 Java 的应用程序。可以在此服务器中托管以下 Java 项目类型:

JAR – 用于独立 Java 应用程序或无状态微服务实例,使用 Spring Boot, Dropwizard or Spark 框架

创建

WAR – 适用于带有嵌入式 servlet 容器的 Web 应用程序

创建Spring引导环境

所以,登录到您的 Jelastic Cloud 仪表板,让我们开始吧。

  1. 首先,您需要创建一个新环境——使用同名按钮启动拓扑向导。切换到 Java 语言选项卡,然后在左侧面板中选择 Spring 应用程序服务器层中的启动模板,如下所示。设置分配的资源量,键入您的环境名称并单击“创建”继续。

版本兼容性:

  • 带有 1.x-2.x 标签的指示意味着 Jelastic 管理的 Spring 引导服务器可以 运行 任何基于这些版本构建的应用程序

  • 当前自定义 Spring 引导堆栈在 Jelastic 中提供 4.10及更高版本的平台。

    1. 当您的新环境出现在仪表板上时,您可以单击“在浏览器中打开”以启动预安装的 Hello World 应用程序示例。

通过这种方式,您可以确保您的 Spring 启动实例已启动并且 运行正在运行。

请按照 full instructions 查看如何将自定义 Java 应用程序集成到创建的 Spring 引导环境中。