2016.01.07
Rails 5 を Heroku で動かす
とある Web サイトの移行を考えています。
2008年に作っていて、Rails のバージョンは 2.x とかなり古いので、この際一気に Rails 5 にしようと思っています。
移行先は Heroku にするつもりなので、準備として、Heroku で Rails 5 を動かすチュートリアルを追ってみました。
内容はほぼ、
≫ Getting Started with Rails 5.x on Heroku
そのままです。
で ruby 2.3.0 と rails 5 beta を用意します。
でサンプルアプリ作成。
Gemfile を編集、
を
に変更。
を
に変更。
app/views/welcome/index.html.erb を追加。
config/routes.rb を編集。
を追加。
を実行し、http://localhost:3000 にアクセスして確認。
再び Gemfile を開き、最後に
を追加。
Gemfile を開き、最後に
を追加。
でとりあえず heroku で動きます。
確認するには、
です。
Webrick でなく、Puma で動かすため、Procfile を追加。
.env を作成し、ローカルでも確認できるようにします。
を実行して、ローカルでも動かせるようにしておきます。
最後に、
でデプロイ。
で、heroku 上で puma で動いていることを確認します。
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 で動いていることを確認します。
2016/01/07 09:00:00