Open6

Heroku攻略

Takayuki TooyamaTakayuki Tooyama

Herokuについて

  • PaaS(Platform as a Service)と呼ばれるクラウドサービス
  • 元々、Rubyのアプリケーションをホスティングするサービス
  • 他の言語にも対応
     

※無料プラン、かつ、クレジットカード登録内の場合(2018/10時点)

  • 月550時間まで無料
  • 30分間アクセスがないとスリープ状態になる
  • DBは、PostgreSQLのみ利用可能
  • 独自ドメインは利用不可
  • 1つまでしかアプリを公開できない
Takayuki TooyamaTakayuki Tooyama

デプロイ前の設定変更(Railsプロダクト)

  1. Gemfileの変更
Gemfile
# 削除
# gem 'sqlite3', '~> 1.3.6'

group :development, :test do
  # 追加
  gem 'sqlite3', '~> 1.3.6'
end

# 追加
group :production do
  gem 'pg', '~> 0.18.4'
end
  1. Gemインストール
bundle install --without production
# 2回目からはless .bundle/configに設定が記載されるため、bundle installだけでOK
  1. ymlファイルの変更
cofig/datebase.yml
production:
  <<: *default
  # PostgreSQLに接続する設定
  adapter: postgresql
  # 日本語も扱える文字コードの設定
  encoding: unicode
  1. assetsのprecompileを有効にする設定
  • cssやjsなどのファイルを一つに圧縮
  • 画像の整理
  • ユーザーが高速にページを読み込めるようにデプロイ時に準備する設定
config/environments/production.rb
  # falseをtrueに変更
  config.assets.compile = true
  1. ルーティングの確認
config/routes.rb
  # rootを設定していないとエラーとなる
  root 'users#index'  
Takayuki TooyamaTakayuki Tooyama

デプロイ方法

1. RailsアプリとHerokuの関連付け

# 1
heroku login

# 2
heroku create アプリ名

※heroku: Press any key to open up the browser to login or q to exit:と出てログインできない場合

heroku login --interactive

2. ソースコードをサーバーにデプロイ

git push heroku master

3. データベースのマイグレーションを実行

heroku run rails db:migrate

4. 公開したサイトを確認

heroku apps:info

🎉🎉🎉 公開完了 🎉🎉🎉