Natknąłem się na to zachowanie i zastanawiałem się, czy ktoś jeszcze to widział. Mam obejście, więc nie jest to przystanek na pokaz.Heroku RACK_ENV mówi "rozwój" na Thin, ale "inscenizacja" na Unicorn
Stworzyłem nową aplikację na Heroku ze stosem cedrów. Podczas pokazu wielu środowisk dodałem następujące config var:
heroku config:add RACK_ENV=staging --app appname
I wizualnie sprawdzić, czy zmienna środowisko został ustawiony, a następnie umieścić następującą trasą w moim prostym przykładzie Sinatra:
get '/?' do
ENV['RACK_ENV']
end
kiedy przetestowany lokalnie na moim laptopie, otrzymałem oczekiwany development
.
Kiedy popchnąłem do Heroku i uderzyłem w tę samą trasę na herokuapp.com, otrzymałem development
zamiast staging
.
Przełączyłem serwer WWW z Thin na Unicorn poprzez plik Procfile i wróciłem z powrotem do Heroku.
Teraz, gdy docieram do trasy, otrzymuję oczekiwany staging
.
Czy ktoś jeszcze to widział? Moje obejście innego projektu, w którym pracowałem w Thin, miało na celu odseparowanie środowiska od nazwy aplikacji New Relic. (Nie przestawiłem się na Unicorn, ponieważ potrzebuję New Relic do pracy, a obecnie współpracują Cedar and New Relic i Unicorn).
Naprawiłem to dla mnie - okrzyki! –
Mężczyzna - naprawdę się cieszę, że to znalazłem. To naprawiło moją nową integrację z reliktem – Jonathan
Dzięki! Ale niesamowite, że nie zostało to już naprawione. – Felixyz