【问题标题】:How to deploy Spring Boot application with PostgreSQL on the cloud Jelastic?如何在云 Jelastic 上使用 PostgreSQL 部署 Spring Boot 应用程序?
【发布时间】:2017-04-10 16:46:59
【问题描述】:

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

谁能给我一些路线图,如何在 Jelastic 上成功托管我的应用程序和数据?

【问题讨论】:

    标签: java postgresql spring-boot deployment jelastic


    【解决方案1】:

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

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

    1. 支持建议使用他们的 Maven 插件进行构建。 链接:maven-plugin-jelastic
    2. 您应该配置应用程序类,以便您可以创建可部署的战争。 链接:howto-create-a-deployable-war-file
    3. 注意必须禁用 Spring Boot 的嵌入式 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:部署

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

    例如,如果您将 Jelastic 中的上下文命名为“loc”,那么 baseURL 将是:

    angular.module('localizeApp')
        .constant("baseURL", "/loc/")
    
        .service('LocalizeData', ['$http', 'baseURL', function ($http, baseURL) {
    
            this.getConfig = function () {
                return $http.get(baseURL + "config");
            };
    

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

    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
    

    还要设置正确的用户名和密码。

    【讨论】:

      【解决方案2】:

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

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

      JAR – 用于独立 Java 应用程序或无状态微服务实例,使用 Spring BootDropwizardSpark 框架创建

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

      Spring Boot 环境的创建

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

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

      版本兼容性:

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

      • 当前的自定义 Spring Boot 堆栈是在 Jelastic 中配置的 4.10 及更高版本的平台。

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

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

      请关注full instructions,了解如何将您的自定义 Java 应用程序集成到创建的 Spring Boot 环境中。

      【讨论】:

        猜你喜欢
        • 2020-11-22
        • 1970-01-01
        • 2014-05-27
        • 1970-01-01
        • 2017-06-27
        • 2021-05-14
        • 1970-01-01
        • 2018-03-15
        • 1970-01-01
        相关资源
        最近更新 更多