我正在使用具有不同测试环境的Pivotal Cloud代工厂(测试,QA,UAT,PROD)Spring启动应用程序 我创建了多个属性文件(每个指向不同的数据库),如
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
或者每当我搬到更高的环境时,我是否需要改变?
提前致谢
答案 0 :(得分:0)
您必须利用Spring Cloud Config Server将所有属性文件移至GIT。在您的应用程序中,使用bootstrap.yml文件与Config Server连接,您将提供类似prod,dev,qa的环境名称。
答案 1 :(得分:0)
您可以为所有环境创建一个applicaiton.yml文件,并分隔特定于环境的清单文件。使用spring profile功能添加特定于环境的属性。 Spring将根据活动环境配置文件和清单文件自动选择属性。
弹簧: 个人资料:默认 用户名:xyz
弹簧: 简介:发展 用户名:abc
在环境特定的清单文件中你可以拥有 ENV: SPRING_PROFILES_ACTIVE:开发