Ruby on Railsで作ったアプリケーションをMOGOKで公開してみる(2/2)
前回の続きです。
アプリケーションを公開
アプリケーションをビルドして、データベースマイグレーションまでやってみます。
mogok build
mogok rake db:migrate
mysql2を使ってくださいと言われました。Gemfileを編集しましょう。
gem 'mysql2'
を追記してください。その後、commit->pushし、再びビルドとマイグレーション。
今度はうまくいったみたいなので、アプリケーションを起動。
mogok start
アプリケーション起動成功。しかし、ページを開いてみると、「Internal server error」...
こういうときは、ログを見るのが鉄則ですね。
mogok log
じっくり見ていくと、compiled assetsがないと言われてるのに気づく。
rake assets:precompile
で、commit->push->buildとやっていき、アプリケーションを再起動。
mogok stop
mogok start
しかし、再び「Internal server error」。これが直接的な原因ではないみたいです。
もう一度ログを確認すると、secret key baseがないと言われてることに気づきました。config/secrets.ymlを見ると、production環境ではsecret key baseが環境変数が使われていました。
mogok secret
これでシークレットキーが出力されます。これを環境変数として設定します。
mogok env set SECRET_KEY_BASE <シークレットキー>
ページにアクセスすると、成功します!
終わりに
ここまでの流れはMOGOKのDocumentsのチュートリアル(http://mogok.jp/documents/rails_deployment_guide)で確認できる内容でもありますが、Windows環境でない場合の一例として紹介してみました。
よくよく見るとMOGOKはまだRuby 2.2に対応してないし、いろいろと無茶苦茶なこともしていますが、そこらへんは目を瞑って頂ければと思います。
これを参考に新しいアプリケーションを作ってぜひ公開してみてください。