2012-10-19 2 views
1

heroku 응용 프로그램 구성에서 전쟁 빌드를위한 Grails 환경을 읽으려고합니다. 그럴 수 있습니까? ENV 변수에 설정되어 있습니까?빌드 팩 설정

답변

1

아니요, 불가능합니다. 빌드 팩은 구성과 독립적으로 실행됩니다. (heroku config:set을 실행하고 결과를 봅니다. 슬러그 컴파일러가 없습니다.) 이것은 12- 팩터 앱의 Build, Release, Run 측면과 일치합니다. 이는 건물 (슬러그 컴파일러와 빌드 팩)을 엄격하게 분리하고, 해당 구성) 및 실행 (주어진 릴리스에 대해 다이나노 스피닝 업).

일반적인 해결책은 빌드 팩이 환경을 읽고 런타임에 적절하게 작동하는 파일을 내보내는 것입니다. 예를 들어, Rails는 데이터베이스 구성을 config/database.yml에서 읽는 반면, Heroku는 이것을 ENV['DATABASE_URL']에서 지정합니다. 따라서 buildpack은 using this template 파일을 생성하여 레일스가 config에 지정된 데이터베이스를 사용하게하여 전체 애플리케이션을 다시 빌드하지 않고 구성을 변경할 수있게합니다.