Spring Boot应用程序的弹性Beanstalk部署 - 放置外部application.properties的位置

时间:2016-06-06 17:24:38

标签: spring-mvc amazon-web-services deployment spring-boot elastic-beanstalk

我正在使用AWSCLI将Spring Boot应用程序部署到AWS Elastic Beanstalk。我想将包含客户规范配置(数据库凭据等)的外部 application.properties 文件放在应用程序的同一目录中。应用程序应该选择此属性文件。我怎么能做到这一点?还有其他选择吗?

2 个答案:

答案 0 :(得分:0)

Spring Cloud Config

此项目允许您为一个或多个应用程序使用外部集中配置存储库。如果属性发生更改,则无需重建应用程序。您只需更改配置库中的属性,甚至可以将更改推送到所有应用程序。

请参阅此Getting Started Guide

以上方法是我为您描述的方案推荐的方法。我不打算在应用程序服务器上为您的配置文件创建一个单独的目录。 Spring Cloud Config是一个很好的方法,因为它解决了您描述的问题以及其他一些问题。

答案 1 :(得分:0)

您也可以在应用产品属性中指定它们,例如

server.port=5000
spring.datasource.url=jdbc:mysql://${RDS_HOSTNAME}:${RDS_PORT}/${RDS_DB_NAME}
spring.datasource.username=${RDS_USERNAME}
spring.datasource.password=${RDS_PASSWORD}
spring.jpa.hibernate.ddl-auto=create

并指定一个名为SPRING_PROFILES_ACTIVE的环境变量,其值prod使beantalk变得足够聪明,可以从那里选择值。