【发布时间】:2021-04-20 22:02:00
【问题描述】:
我不确定如何将环境变量从我的 dev.env 和 prod.env 获取到我的 application.conf(或从 conf 文件中引用它们)。
我想将我的应用程序部署到 heroku 并将其连接到 heroku 的数据库。将来,我想在 docker 容器中部署到 AWS。
能否请一些人解释一下环境变量在 Scala 中是如何工作的,并解释如何从 application.conf 中引用环境变量。
我已经有一个 configLoader。
下面是我的文件结构的图片,我还复制了下面的代码:
application.conf 文件如下:
akka {
loggers = ["akka.event.slf4j.Slf4jLogger"]
loglevel = DEBUG
}
server-config {
host = "0.0.0.0"
port = 8080
base-url = ${?BASE_URL}
}
db-config {
url = {?JDBC_DATABASE_URL}
username = "su"
password = "password"
pool-size = 10
driver="org.h2.Driver"
}
下面的dev.env:
ENV=dev
BASE_URL=http://localhost:8080
JDBC_DATABASE_URL=jdbc:postgresql://localhost:5400/bookswapdb
prd.env 下面:
ENV=${_ENVIRONMENT}
BASE_URL=https://git.heroku.com/appone2021.git
JDBC_DATABASE_URL=${URL_WITH_CREDS_REDACTED}
【问题讨论】:
-
这能回答你的问题吗? specific config by environment in Scala
-
我认为如果不使用 heroku,这些解决方案会很好用,因为 heroku 会旋转变量,因此您不能在代码或环境变量中的任何位置静态使用它。
标签: postgresql scala heroku environment-variables typesafe-config