Railsアプリをherokuにデプロイする方法を紹介します。MySQLを使ったアプリの場合の例を紹介します。
herokuでアプリを作成する
herokuにログインします。
heroku login
をターミナルに打ち込むと、URLが表示されますので、そのURLをコピーしてブラウザで開いてherokuにログインしてください。
heroku create アプリ名
git remote
でherokuのgit URLが表示されることを確認してください。
git remoteで表示されたherokuのgit URLをリモートリポジトリに追加します。
git remote add heroku https://git.heroku.com/xxxxx-xxxxx-xxxxx.git
DBの環境変数の設定
下記のコマンドでClearDB MySQLというアドオンがherokuに追加されます。
heroku addons:create cleardb:ignite
※クレカ情報を入れないといけないです。igniteプランは無料なので安心してください。
heroku configと打ち込むと下記のようなClearDBのURLが表示されますので、コピーしておきます。
CLEARDB_DATABASE_URL: mysql://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true
ClearDBのURLにもとづいて下記のようにherokuの環境変数の設定をしていきます。
heroku config:add DB_NAME='<データベース名>' heroku config:add DB_USERNAME='<ユーザー名>' heroku config:add DB_PASSWORD='<パスワード>' heroku config:add DB_HOSTNAME='<ホスト名>' heroku config:add DB_PORT='3306' heroku config:add DATABASE_URL='mysql2://<ユーザー名>:<パスワード>@<ホスト名>/<データベース名>?reconnect=true'
heroku configをもう一度打ち込むと、設定した内容が反映されています。
本番環境のcompileの設定
config/environments/production.rbに下記の設定をします。
config.assets.compile = true #falseからtrueへ config.assets.initialize_on_precompile=false
herokuへのデプロイ
ソースコードをコミットし、herokuにpushします。
git add . git commit -m "コミットメッセージ" git push heroku master
最後にherokuのDBのマイグレーションを行います。
heroku rake db:migrate
heroku open
すればアプリが立ち上がります。
herokuへのデプロイは、初心者のときは何日も手間取った記憶がありますので、同じ轍を歩まぬようメモっておきます。
参考:Herokuへのデプロイ方法【Heroku+Rails+MySQL】
Ruby on Railsをこれから本格的に勉強したい人は「エンジニアになるための600時間のプログラミング学習に耐え抜くコツ」という記事がおすすめです。