Назад | Перейти на главную страницу

Гибкая среда Ruby App Engine app.yaml игнорирует env_variables RAILS_ENV

Мы используем GAE с гибкой средой Ruby, и мы пытаемся развернуть приложение rails с промежуточными конфигурациями (т.е. RAILS_ENV = staging).

В соответствии с https://cloud.google.com/appengine/docs/f flexible/ruby/configuring-your-app-with-app-yaml мы должны иметь возможность установить значение RAILS_ENV, настроив app.yaml с помощью:

env_variables:
  RAILS_ENV: 'staging'

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

gcloud app deploy

(Временный) Dockerfile создается с помощью

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

Это приводит к развертыванию в среде PRODUCTION (значение по умолчанию для RAILS_ENV).

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

На самом деле это выглядит как ошибка, поскольку в обзорной документации указано, что такие переменные, как RAILS_ENV и NODE_ENV специально настроиться на «производство». Фактически их следует рассматривать как значения по умолчанию, которые можно изменить в app.yaml.

Я создал отчет о дефектах, обновления которого вы можете пометить здесь:
https://code.google.com/p/google-cloud-sdk/issues/detail?id=1399

Это определенно то, чего не должно происходить, поскольку это противоречит документации. Это должно быть опубликовано как проблема на страница выпуска github для образа гибкой среды Ruby Docker.