【问题标题】:Heroku play scala always runs in Prod modeHeroku play scala 总是在 Prod 模式下运行
【发布时间】:2018-01-27 17:19:18
【问题描述】:

当我运行“sbt ~run”时,我可以看到模式已按预期设置为 Dev。但是,当我运行“heroku local web”时,服务器以 Prod 模式运行。知道如何将其设置为开发模式吗?我是否必须使用 heroku config CLI 设置任何变量?我的目的是在推送到 Heroku git 之前先用 heroku local 进行测试。

已在我的 Procfile 中尝试过:

web: target/universal/stage/bin/myapp -Dhttps.port=${PORT} -Dhttp.port=disabled -Dhttps.keyStore=conf/generated.keystore -Dlogback.configurationFile=conf/logback.xml -Dapplication.mode=DEV

但它仍然显示 Prod。当服务器运行时,conf 文件使用“-Dconfig.resource=root-dev.conf”以编程方式设置。

【问题讨论】:

    标签: scala heroku playframework sbt


    【解决方案1】:

    您需要以某种方式为application.mode 使用环境变量(毕竟,这就是环境变量的用途:特定于环境的更改)。有几种方法可以做到这一点,一种是创建一个APPLICATION_MODE env var,然后在你的Procfile 中使用它:

    -Dapplication.mode=${APPLICATION_MODE:-DEV}
    

    这会将-Dapplication.modeAPPLICATION_MODE 设置为DEV 如果未设置环境变量则默认为DEV。然后你可以像这样在 Heroku 上设置环境变量:

    $ heroku config:set APPLICATION_MODE="PROD"
    

    或者您可以将整个 -Dapplication.mode=DEV 放入您本地存储库中的 .env 文件中的 JAVA_OPTS 中,如下所示:

    JAVA_OPTS="-Dapplication.mode=DEV"
    

    heroku local 命令将获取.env 并加载它。通过这种方式,您无需在 Heroku 上进行任何更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-26
      • 1970-01-01
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多