初心者でも分かるRailsで始めるHeroku入門 その1
rails heroku

初心者でも分かるRailsで始めるHeroku入門 その1

このエントリーをはてなブックマークに追加

初めまして。GMOメディア技術推進室の中村です。私はこの度弊社技術ブログでRubyやRails、Herokuについて書いていこうと思います。現在業務でRailsやHerokuを使う機会があり、個人的にもRuby/Rails/Herokuを使っておりましたので、色々とナレッジを紹介していこうと思っていますので、よろしくお願いいたします。

今回は初回ということもあるので、既にご存知の内容かもしれませんが、RailsアプリをHerokuで動かすまでの流れを説明したいと思います。

今回はRails3.1から3.2、herokuはcedarスタックを使用するとします。作業としては全部で9つあります。

1.Herokuアカウントの登録

まず最初にこちらにアクセスしてアカウント登録をしておきます。

2.gitが使えることを確認。

Herokuへはgitを使ってアプリケーションをアップしますので、gitは設定しておいてください。

3.SSHキーを作っておく

続いてSSHキーを作っておいてください。

4.Herokuコマンドを使えるようにしておく。

HerokuのgemをインストールしてHerokuコマンドを使えるようにしてもいいですが、最近はhttps://toolbelt.heroku.com/を使う方が推奨となりますので、toolbeltを入れましょう。入れ方は先ほどのこちら を確認してやってみてください。

5.Herokuに格納するアプリケーションの格納場所を作成しておく。

Herokuにディプロイするアプリケーションの格納場所を作っておきましょう。作り方は以下のようにHerokuコマンドで出来ます。

 heroku create [APP_NAME]

6.gitリモートリポジトリの登録をする。

5で作成したアプリケーションの格納場所のgit リポジトリを確認して、それをリモートリポジトリとして登録するgitリポジトリは、herokuの管理画面は「https://dashboard.heroku.com/apps/[APP_NAME]/settings」で確認できます。

 git remote add [GIT REPOSITORY NAME] [GIT URL]

7.アプリケーションをディプロイする

ここまで出来たら次はいよいよアプリケーショのディプロイです。ディプロイはgitのpushコマンドでHerokuのgitリポジトリにpushするだけです。

 git push [GIT REPOSITORY NAME] master

もしリポジトリの名前([GIT REPOSITORY NAME]のこと)を忘れてしまった場合は「git remote」と入力してください。登録したリポジトリの名前の一覧が表示されます。git pushで認証エラーが出た場合は、sshキーをHerokuにアップし直してください。方法は下に書いた「SSHキーの登録」を参照してください。

8.Herokuを再起動する。

git pushが終わったらHerokuを再起動してください。もしデータベース定義が新しく追加になったのであれば、db:migrateを実行してください。

マイグレーションの実行

 heroku run rake db:migrate --app [APP_NAME]

アプリケーションの再起動

 heroku restart --app [APP_NAME] 

9.アプリケーションをWebブラウザで見る

再起動が終わったら、以下のようにHerokuコマンドを入力してherokuにディプロイしたアプリケーションをブラウザで確認してみてください。無事動作していることが確認できたでしょうか?

 heroku open --app [APP_NAME]

以上になりますが、参考になりましたでしょうか?それでは最後に幾つかHerokuコマンドを紹介します。

Herokuコマンド色々

ログの確認

 heroku logs -t --app [APP_NAME]

環境変数の確認

 heroku config

環境変数の追加

 heroku config:add [CONFIG_NAME] =[CONFIG_VALUE] --app [APP_NAME]

SSHキーの登録

 heroku keys:add  ~/.ssh/id_isa.pub

メンテナンス画面切り替え

 heroku maintenance:on --app [APP_NAME]
 heroku maintenance:off --app [APP_NAME]

アドオンの追加削除

 heroku addons:add [ADD ON NAME] --app [APP_NAME]
 heroku addons:remove [ADD ON NAME] --app [APP_NAME]

次回はRails/Herokuで使用したgemやaddonを幾つか紹介したいと思います。よろしくお願いします。

※参考:「iPhoneアプリのバックエンドにRailsとHerokuを使ったみた


名無しのエンジニア
Galera Replicationはじめます
Google App Engineで行動ログを記録・収集する方法