もふもふ技術部

さくらVPSで動かしていたRailsアプリケーションをHerokuに移す


飲み会脱出サービス「スマートエスケープ」
https://smart-escape.net/

heroku_01

個人で趣味で作ったサービスで、Twilio API(電話API)を使ってみたいがために作ったものです。完全にネタサービスで収益性0です。

そんなサービスですが技術検証くらいには役に立つもので、ちょうどいいので、さくらVPS => Herokuにサーバ移管してみることにしました。

とりあえずGetting Started

例によってGetting Startedを見れば大体わかるやつ。
https://devcenter.heroku.com/articles/getting-started-with-rails3

元々動いているサービスなので、heroku create してアプリケーションを作成するところから。あとMySQLで動いているので cleardbアドオンを追加します。

Heroku x Rails 用のgemを追加。

herokuのgitリポジトリにpushして出来上がり!と思いきや。
あれ?怒られた。

どうやらHerokuではGemfile.lockが必須らしい。Gemfile.lockは開発環境と運用環境でgemのバージョンを合わせるためのもの。普段開発時はGemfile.lockをgitリポジトリから外していたため怒られたというわけ。

.gitignoreのGemfile.lockの記述を削除しましょう。

さて、再びHerokuにpushしてみる。今度は怒られなかったので、heroku openする。heroku openは対象のアプリケーションのURLを勝手にブラウザで開いてくれるのでイチイチ探したりする手間が省ける。

heroku_02
あれダメだ。

Rails実行時のログを確認するコマンド。どうやらpostgreを見に行ってるみたい。MySQLの設定が正しくないっぽい。

Gemfileを確認。mysql2はあるね。

あ、そういえばDATABASE_URLの設定がいるんだっけか。mysql:// => mysql2:// に変更しているので注意。

できたあああ!!
heroku_03

残りの課題

  • DBデータのコピー
  • 独自ドメインの設定
The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。