僕は発展途上技術者

Rails 5 を Heroku で動かす

とある Web サイトの移行を考えています。

2008年に作っていて、Rails のバージョンは 2.x とかなり古いので、この際一気に Rails 5 にしようと思っています。

移行先は Heroku にするつもりなので、準備として、Heroku で Rails 5 を動かすチュートリアルを追ってみました。

内容はほぼ、

Getting Started with Rails 5.x on Heroku

そのままです。

$ brew update && brew upgrade ruby-build
$ rbenv install 2.3.0
$ rbenv rehash
$ gem install rails --pre --no-ri --no-rdoc
$ rbenv rehash


で ruby 2.3.0 と rails 5 beta を用意します。

$ rails new myapp --database=postgresql

でサンプルアプリ作成。

Gemfile を編集、

gem 'rails', '>= 5.0.0.beta1', '< 5.1'



gem 'rails', github: "rails/rails"

に変更。

gem 'sqlite3'



gem 'pg'

に変更。

$ bundle install
$ bin/rake db:create
$ bin/rails g controller welcome


app/views/welcome/index.html.erb を追加。

<h2>Hello World</h2>
<p>
The time is now: <%= Time.now %>
</p>

config/routes.rb を編集。

root 'welcome#index'

を追加。

$ bin/rails server

を実行し、http://localhost:3000 にアクセスして確認。

再び Gemfile を開き、最後に

gem 'rails_12factor', group: :production

を追加。

$ bundle install --without production

Gemfile を開き、最後に

ruby "2.3.0"

を追加。

$ git init
$ git add .
$ git commit -m "init"
$ heroku create
$ git push heroku master


でとりあえず heroku で動きます。

確認するには、

$ heroku open

です。

Webrick でなく、Puma で動かすため、Procfile を追加。

web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-development}

.env を作成し、ローカルでも確認できるようにします。

$ echo "RACK_ENV=development" >>.env
$ echo "PORT=3000" >> .env
$ echo ".env" >> .gitignore
$ git add .gitignore
$ git commit -m "add .env to .gitignore"


$ gem install foreman

を実行して、ローカルでも動かせるようにしておきます。

最後に、

$ git add .
$ git commit -m "use puma via procfile"
$ git push heroku master


でデプロイ。

$ heroku ps

で、heroku 上で puma で動いていることを確認します。

プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ