akn*_*ds1 5 deployment sbt playframework config-transformation playframework-2.2
对于我的Play 2.2/Scala应用程序(使用SBT构建),我想根据我正在部署的环境部署不同的配置文件(例如,将部署与特定数据库服务器耦合).如何为不同的部署目标创建应用程序配置文件(conf/application.conf)的不同变体?希望可以从基础版本生成变体?
我从.NET习惯的是拥有一个基本配置文件(Web.config),它根据正在部署的配置文件(例如生产)进行一定的转换.是否在Play/Scala世界中使用类似的技术?
bie*_*ior 17
备注配置文件在Play的文档中有很好的介绍Specifying alternative configuration file.
简而言之 - application.conf您可以放置应用程序的默认配置,此外还需要为您的环境创建其他文件,即.life.conf,dev.conf等等.在这些文件中,你首先需要包含application.conf(这将读取整个默认配置)和未来只是简单地覆盖仅具有部分改变-即.数据库凭据,可能是dev.conf:
include "application.conf"
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:alternative-database-for-dev-testing"
db.default.user=developer
db.default.password="developerpass"
所以最后你开始你的应用程序(之后dist)
./start -Dconfig.resource=dev.conf
或者使用Play控制台
play -Dconfig.resource=dev.conf run
几个提示:
application.conf文件中是个好主意,如果某个开发人员忘记包含他dev.conf不会损坏生产数据库,而应该将其放入prod.conf.dev_aknuds1.conf,dev_biesior.conf等等,因此您可以dev_*.conf在repo中使用一个模式忽略它们.start_dev.sh,run_dev.sh所以你不需要-Dconfig.resource=...每次都写| 归档时间: | 
 | 
| 查看次数: | 4898 次 | 
| 最近记录: |