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のデフォルト値)にデプロイされます。
これはバグですか、それとも何かが足りませんか?
概要のドキュメントには、 Rails_ENV
や NODE_ENV
などの変数が意図的に「production」に設定されると記載されているため、これは実際には誤った機能のように見えます。これらは実際には、app.yaml
でオーバーライドできるデフォルト値として扱われる必要があります。
ここで更新を開始できる欠陥レポートを作成しました。
https://code.google.com/p/google-cloud-sdk/issues/detail?id=1399
これは、ドキュメントと矛盾するため、絶対に発生してはならないことです。これは、問題として Flexible Environment Ruby Docker image のgithub問題ページ)に投稿する必要があります。