0

我們正在使用GAE和Ruby靈活環境,我們正在試圖部署一個rails應用程序和分段配置(例如RAILS_ENV = staging)。App引擎Ruby flex環境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 

這導致部署在PRODUCTION e nvironment(RAILS_ENV的默認值)。

這是一個錯誤還是我錯過了什麼?

+0

我不知道,如果是的StackOverflow發佈此問題最好的地方,因此我也張貼在「服務器故障」的問題:http://serverfault.com/questions/815750/app -engine-ruby-flex-environment-app-yaml-is-ignoring-env-variables-rails-env –

回答

0

環境變量app.yaml中設置env_variables下現在應該覆蓋默認值(其來自所生成的Dockerfile)。

我剛剛部署了一個sample application到App Engine,並在我的env_variables中定製了RAILS_ENV

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

在部署時,ENV["RAILS_ENV"]顯示用戶自己定製,覆蓋值。

Screenshot of customized environment variable