0

Мы используем GAE с гибкой средой Ruby, и мы пытаемся развернуть приложение rails с промежуточными конфигурациями (т. Е. RAILS_ENV = этап).App Engine Ruby flex environment app.yaml игнорирует env_variables RAILS_ENV

Согласно https://cloud.google.com/appengine/docs/flexible/ruby/configuring-your-app-with-app-yaml мы должны быть в состоянии установить значение RAILS_ENV Настройка app.yaml с:

env_variables: 
    RAILS_ENV: 'staging' 

Однако, когда мы бежим:

gcloud app deploy 

A (временный) Dockerfile является Сгенерировано с использованием

# Temporary. Will be moved to base image later. 
ENV RACK_ENV=production \ 
    RAILS_ENV=production \ 
    RAILS_SERVE_STATIC_FILES=true 

В результате чего в развертывании в ПРОДУКЦИИ e nvironment (значение по умолчанию для RAILS_ENV).

Это ошибка или я что-то упускаю?

+0

Я не знаю, если StackOverflow это лучшее место, чтобы разместить этот вопрос, как таковой, я также отвечал на вопрос в «Сервер Fault»: http://serverfault.com/questions/815750/app -engine-ruby-flex-environment-app-yaml-is-ignoring-env-variables-rails-env –

ответ

1

Гибкая среда устанавливает RAILS_ENV по умолчанию на «production». Переменные

https://cloud.google.com/appengine/docs/flexible/ruby/runtime#environment_variables

+0

Проблема не в том, чтобы установить RAILS_ENV на другое значение среды .. См. http://serverfault.com/ вопросы/815750/приложение-двигатель-рубиновый-флекс-среда-приложение-YAML-это-игнорирование-ENV-переменного-рельсы-окр –

0

окружающей среды устанавливается в app.yaml под env_variables должен теперь переопределить значения по умолчанию (которые поступают от генерируемого Dockerfile).

Я только что развернул sample application в App Engine с RAILS_ENV, настроенным в моем env_variables.

env_variables: 
    APP_YAML_VAR: this was set in the app.yaml 
    RAILS_ENV: overridden 

При развертывании ENV["RAILS_ENV"] показывает мое настроенное, преодолено значение.

Screenshot of customized environment variable

Смежные вопросы