내 스칼라 Dropwizard는 SBT Start Script 플러그인 (작성 시점에 커밋 c1fefeb59f3d6ba053f99b8d49a52779ac3dbce8)을 사용하므로 포먼과 쉽게 실행할 수있는 실행 스크립트를 준비 할 수 있습니다.Heroku 환경 변수를 다른 동적 (Heroku-managed) 변수의 함수로 설정하십시오.
그러나 HOCON과 달리 Dropwizard의 구성 시스템에서는 스위치를 사용하여 JAVA_OPTS
을 통해 YAML 파일의 변수를 무시할 수 있습니다.
포트를 설정하고 싶습니다.
여기에 내 문제가 있습니다. SBT 시작 스크립트의 최신 버전에서는 JAVA_OPTS
이 시작 스크립트의 일부로 생성되므로 더 이상 Procfile을 통해 전달할 수 없습니다. 그래서, 유일한 방법은 내 응용 프로그램에 $PORT
을 Heroku가 관리 얻을 내가 이걸 어떻게해야합니까 JAVA_OPTS
-Ddw.http.port=$PORT
로를 통해 그것을 설정하는 것입니다?
내가 명령 줄에 heroku config:set
인수를 시도했다 :
JAVA_OPTS="-Ddw.http.port=$PORT"
—이 $ PORT로 평가 내 환경, 대부분 ""에 있습니다.JAVA_OPTS="-Ddw.http.port=\$PORT"
—heroku config
이 경우JAVA_OPTS="-Ddw.http.port=$PORT"
으로 표시되지만 앱에 포트 번호로$PORT
이라는 문자가 주어집니다. 즉, Heroku에서 평가되지 않습니다.JAVA_OPTS="-Ddw.http.port=\\\$PORT"
—heroku config
는JAVA_OPTS="-Ddw.http.port=\$PORT"
로이 표시되지만 응용 프로그램은 문자\$PORT
JAVA_OPTS="-Ddw.http.port=$$PORT"
—$$
를 부여됩니다 Heroku가이12345PORT
같은 것을 설정한다 (서브 쉘되지 않음), 그래서 현재 쉘의 PID입니다.
JAVA_OPTS
을 통해 Heroku 관리 포트를 설정하는 방법을 알려주십시오.
정말 고맙습니다. 필자는 AWS에 너무 많이 익숙해졌으며 새로운 Heroku 기능을 완전히 놓쳤습니다.불행히도,''heroku config''는이 동적으로 설정된 변수를 보여주지 않습니다. – opyate