2

我正在使用具有不同测试环境(测试、QA、UAT、PROD)的 Pivotal Cloud Foundry 我创建了多个属性文件(每个属性文件都指向不同的数据库),例如

application-dev.properties
application-test.properties
application-qa.properties
application-uat.properties
application-prod.properties

如果它在本地,我正在通过设置运行-Dspring.progiles.active=test/qa/uat/prod

 mvn clean compile springboot:run -Dspring.progiles.active=test

如何让它自定义我的应用程序以使用基于云中环境的特定属性文件?我需要更改哪些配置?下面是我的application.properties文件。

spring.profiles.active=test

spring.datasource.url=
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class =org.hibernate.dialect.TeradataDialect
spring.jpa.database-platform=org.hibernate.dialect.TeradataDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = none
spring.jpa.properties.hibernate.default_schema=

spring.jpa.properties.hibernate.dialect= org.hibernate.dialect.TeradataDialect
server.port=9090

logging.level.org.springframework.web=INFO
logging.level.org.hibernate=INFO
logging.file=myapplication.log

或者当我搬到更高的环境时我需要改变吗?

提前致谢。

4

2 回答 2

2

您可以applicaiton.yml为所有环境使用一个文件,也可以使用单独的特定于环境的清单文件。使用弹簧配置文件功能添加特定于环境的属性。Spring 将根据活动环境配置文件和清单文件自动选择属性。示例 application.yml 可以有

spring:
  profiles:  default
  username: xyz

spring:
  profiles:  development
  username: abc

在特定于环境的清单文件中,您可以拥有:

env:
  SPRING_PROFILES_ACTIVE: development
于 2017-10-11T15:47:49.160 回答
0

您必须利用 Spring Cloud Config Server 将所有属性文件移动到 GIT。在您的应用程序中,使用 bootstrap.yml 文件连接配置服务器,您将提供环境名称,如 prod、dev、qa。

于 2017-10-05T02:27:19.770 回答