1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Rails】Heroku経験者がApp Engineでアプリを動かそうとする際の最初のハマりどころ

Posted at

はじめに

HerokuでRailsアプリを動かしたことがある経験者がGoogle App Engineでアプリを動かそうとする際、最初に遭遇することが多いエラーの解決方法について記録しておきます。

問題点

デプロイ成功後にブラウザからAppEngineのURLにアクセスすると「An unhandled lowlevel error occurred. The application logs may have details.」と表示される。

AppEngine01.png

調査

AppEngine上で動作するアプリのログはSTACK DRIVER > ロギング > ログから確認することが出来ます。

AppEngine02.png

AppEngine03.png

原因

ログの内容を確認すると、

# <RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>

という一文が見つかるため、secret_key_baseの設定漏れであることがわかります。

Herokuでは環境変数SECRET_KEY_BASEが自動的に設定されますが、AppEngineでは自分で設定する必要があります。

解決方法

secret keyを生成して、app.yamlに環境変数SECRET_KEY_BASEとして追記します。

$ bundle exec rails secret
37e96b793ded332380ddbbf55f3435506af415fc1100ac34ab1a185c7e971a6b2f270143f2c714c33a4c376ebfacae09b4d96f0392b633c1e0326ba369ce88c2
app.yaml
entrypoint: bundle exec rackup -p $PORT
env: flex
runtime: ruby
env_variables:
  SECRET_KEY_BASE: '37e96b793ded332380ddbbf55f3435506af415fc1100ac34ab1a185c7e971a6b2f270143f2c714c33a4c376ebfacae09b4d96f0392b633c1e0326ba369ce88c2'

再度デプロイを実施して他に設定漏れなどがなければアプリへアクセス可能になります。

AppEngine04.png

公式ドキュメント

RailsアプリをAppEngineにデプロイする手順については公式ドキュメントにも詳しい解説があります。

Running Rails 5 on the Google App Engine flexible environment  |  Ruby  |  Google Cloud Platform

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?