2017-08-19 1 views
0

Lorsque je lance "sbt ~ run" je peux voir que le mode est défini Dev comme prévu. Cependant, lorsque je lance "heroku local web", le serveur fonctionne en mode Prod. Une idée de comment je peux obtenir cet ensemble en mode Dev? Dois-je définir une variable avec la CLI heroku config? Mon intention est de tester avec heroku local avant de pousser à Heroku git.Scala Heroku fonctionne toujours en mode Prod

ont essayé dans mon 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 

Mais encore montre Prod. Lorsque le serveur s'exécute, le fichier conf est défini par programme avec "-Dconfig.resource = root-dev.conf".

Répondre

0

Vous voudrez utiliser des variables d'environnement pour le application.mode d'une certaine façon (après tout, c'est ce que sont les variables d'environnement: les changements spécifiques à un environnement). Il y a quelques façon, vous pouvez le faire, on est de créer un var env APPLICATION_MODE, et l'utiliser dans votre Procfile ainsi:

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

Ceci règlera -Dapplication.mode de APPLICATION_MODE et par défaut à DEV si le var env est pas ensemble. Ensuite, vous pouvez définir le var env sur Heroku comme ceci:

$ heroku config:set APPLICATION_MODE="PROD" 

Ou vous pourriez mettre l'ensemble -Dapplication.mode=DEV dans JAVA_OPTS dans votre fichier .env dans votre repo locale comme ceci:

JAVA_OPTS="-Dapplication.mode=DEV" 

La commande heroku local sera ramasser .env et le charger. De cette façon, vous n'avez pas besoin de changer quoi que ce soit sur Heroku.