将Spring Boot应用程序部署到AWS Beanstalk

时间:2014-03-25 21:03:50

标签: jar war spring-boot

将Spring Boot项目(最好只是jar)部署到AWS Beanstalk环境的最佳方法是什么。或者我应该将它转换为WAR并以这种方式部署它?


解决方案:

基本上我做的是这个:

  1. 创建新类告诉Spring Boot我的应用程序是一个Web应用程序,我需要创建所有必要的配置:

    public class MyBootWebApp extends SpringBootServletInitializer { 
    
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return
    
         

    application.sources(MyBootApp.class);          }       }

  2. (2).pom文件内部将包装改为战争:<packaging>war</packaging>

    就是这样。

4 个答案:

答案 0 :(得分:3)

将Spring Boot部署到Beanstalk的最简单方法是使用Spring Guide将项目转换为WAR文件。然后,您只需设置Beanstalk应用程序以使用Tomcat并拖放WAR文件。 AWS负责其余的工作。

编辑:基于马克西姆所做的事情

第1步:

public class MyBootWebApp extends SpringBootServletInitializer {
    @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(MyBootApp.class);
    }
}

第2步:更改您的pom.xml使用<packaging>war</packaging>

答案 1 :(得分:2)

您可以使用Elastic Beanstalk轻松地将Spring Boot应用程序部署为jar文件。您根本不需要如官方Spring Boot指南中所述的boxfuse。它就像

一样简单

下载EB CLI,然后在spring boot project文件夹中运行

eb init

用于平台选择选项2)java

添加到新创建的.elasticbeanstalk / config.yml文件中

deploy:
     artifact: target/spring-boot-aws-example-0.0.1-SNAPSHOT.jar

(将jar名称更改为匹配的名称)

然后通过将此应用程序添加到application.properties

来更改您的应用程序以侦听端口5000
server.port=5000

然后做

# Prerequisite : generate deployment artifact
mvn clean install

# Create a load balancing, auto-scaling environment
eb create

我的博客文章介绍了该流程的完整详情: https://exampledriven.wordpress.com/2017/01/09/spring-boot-aws-elastic-beanstalk-example/

答案 2 :(得分:1)

我对Beanstalk的确不太了解,但我认为Java容器只支持WAR。您仍然可以使WAR可执行本地(和非Beanstalk)使用(例如在gs guide中)。

答案 3 :(得分:1)

将Spring Boot项目部署到AWS Beanstalk(最好在jar文件中):

  1. 将maven pom.xml中的包装更改为“ jar”
  2. 从AWS Beanstalk->创建新应用程序
  3. 在应用程序内部->创建一个新环境
  4. 从“选择环境层”中选择->“ Web服务器环境”
  5. 在Web配置中
  6. 之后->必须从“平台”中选择“ Java”(在这种情况下不是Tomcat,因为将提供一个已经包含嵌入式tomcat的jar文件,因此AWS Beanstalk为我们提供了托管服务器在哪里建立了Linux OS,JVM和兼容的应用程序,以与支持我们的应用程序所需的一切一起运行。如果我们要部署war文件,则必须选择tomcat)
  7. Java平台还支持“ jar”文件进行部署(尽管写为.zip / .war)