何かアイデアを思いついて、そこから最初にサーバーの準備を行うのはとても面倒くさいですよね
例えばハッカソン等の短い時間の間で、デモ環境を公開するのにインフラ周りで時間をつぶしてしまうのはとてももったいないです。
herokuというサービスを使えば、誰でも簡単に、しかもある程度の利用なら無料で利用することができます。
ここではRails newした直後のアプリケーションを公開してみます。
事前準備
必要なものは以下の2つです。
- gitコマンドが使える
- railsコマンドが使える
gitコマンドが使えるかどうかはターミナル上で
% git --version
git version 2.7.4 (Apple Git-66)
railsコマンドが使えるかどうかは
% rails -v
Rails 4.1.4
コマンドを叩いてみてバージョン情報が出力されるかどうか確認してください
各種アカウント登録
herokuでアカウントを作成します。
https://www.heroku.com/home
「Welcome to Heroku」と表示されればアカウント登録完了です。
※ログイン情報は後ほど使うので覚えておいてください
次にターミナル上でherokuコマンドを使えるようにするために、ファイルをダウンロードします。
https://toolbelt.heroku.com/
上記のサイトからheroku toolbeltをダウンロードします。
ダウンロードしたpkgファイルを開いてインストール完了まで設定を行ってください。
インストールできたら以下のコマンドで確認を行います。
% heroku version
heroku-toolbelt/3.43.2 (x86_64-darwin10.8.0) ruby/1.9.3
heroku-cli/5.1.8-52a89fa (darwin-amd64) go1.6.2
以上で事前準備は完了です。
Railsアプリの準備
% rails new simple_my_app
% cd simple_my_app
% bundle exec rails g controller welcome index
config/routes.rbを開いて以下を追記
root "welcomes#index"
動作確認してみましょう
% bundle exec rails s
ブラウザでlocalhost:3000と入力し、以下のようなページが表示されればOKです。
動作確認ができましたら、herokuへ公開するための下準備を行います。
Gemfileを編集してください。
上の方の行にあるsqlite3をコメントして以下の行を追記してください。
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
続いてconfig/database.ymlを編集します。
productionの部分を以下のように変更します。
production:
url: <%= ENV['DATABASE_URL'] %>
adapter: postgresql
encoding: unicode
pool: 5
timeout: 5000
編集が終わった後、bundle installコマンドを叩きます。
以上でRailsアプリの準備は完了です。
いよいよパブリックな環境へ公開!!
ターミナル上で
% heroku login
を入力してください。
先ほど作成したherokuのアカウントのメールアドレスとパスワードが聞かれるので入力します。
logged in as
が表示されたらOKです。
アプリケーションをgitで管理するための初期化を行います。
% git init
続いて最初のコミットを作成します。
% git add -A
% git commit -m "first commit"
上記をおこなった後にgit logコマンドを叩いて、
commit 1234474234098
Author: yourname
Date: Wed May 18 07:42:48 2016 +0900
first commit
と出力されればOKです。
Herokuアプリを公開するためのリポジトリを作成します。
% heroku create simple-my-app
simple-という部分はアプリ名で、世界中のどこでも使われてない名前が必要です。被ったらエラーになるので最初は好きな名前で登録してみてください。
ここまでできたらコードをherokuに反映します。
% git push heroku master
これで公開している環境にコードを反映することができました。
最後にデータベースのマイグレーションを行います。
% heroku run rake db:migrate
コードに変更があった際は、基本的にgit addの部分からmigrateまでを行い公開ページへの反映を行います。
以上でHerokuへRailsアプリを公開するまでの手順は終了です。
まとめ
今回はHerokuを使ってアプリを公開するまでの手順をまとめてみました。
自分でほとんど環境設定を行わずに、pushするだけでアプリが公開できるなんてホント最高ですね!!
herokuさんに感謝!!