web-dev-qa-db-ja.com

App Engine Ruby flex環境app.yamlはenv_variablesRails_ENVを無視しています

Ruby柔軟な環境でGAEを使用しており、ステージング構成(Rails_ENV = staging)でRailsアプリをデプロイしようとしています。

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

(一時的な)Dockerfileは次のように生成されます

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

これにより、PRODUCTION環境(Rails_ENVのデフォルト値)にデプロイされます。

これはバグですか、それとも何かが足りませんか?

2

概要のドキュメントには、 Rails_ENVNODE_ENV などの変数が意図的に「production」に設定されると記載されているため、これは実際には誤った機能のように見えます。これらは実際には、app.yamlでオーバーライドできるデフォルト値として扱われる必要があります。

ここで更新を開始できる欠陥レポートを作成しました。
https://code.google.com/p/google-cloud-sdk/issues/detail?id=1399

2
Adam

これは、ドキュメントと矛盾するため、絶対に発生してはならないことです。これは、問題として Flexible Environment Ruby Docker image のgithub問題ページ)に投稿する必要があります。

0
Nick