Action Cableの習作: Herokuにデプロイ

前回作成したアプリをHerokuにデプロイしたいと思います。

準備
DBをPostgreSQLに変更します。
bin/rails db:system:change --to=postgresql

async版

https://github.com/usutani/try_ac_simple_broadcast/tree/heroku-async

config/cable.yml
adapterをasyncに変更します。

production:
  adapter: async

後は以前書いた手順と同じようにデプロイするだけです。

heroku login
heroku create <APP_NAME>
heroku addons:create heroku-postgresql

git push heroku <BRABCH_NAME>:master

heroku run rake db:migrate
# heroku run rake db:seed

heroku open
heroku logs --tail
# heroku apps:destroy

Redis版

https://github.com/usutani/try_ac_simple_broadcast/tree/heroku-redis

asyncアダプタは本番環境では非推奨ですのでRedisに変えてみます。

echo "gem 'redis-rails'" >> Gemfile
bundle install

heroku login
heroku create <APP_NAME>
heroku addons:create heroku-postgresql
heroku addons:create heroku-redis:hobby-dev

git push heroku <BRABCH_NAME>:master

heroku run rake db:migrate
# heroku run rake db:seed

heroku open
heroku logs --tail
# heroku apps:destroy

開発/本番一致
The Twelve-Factor App (日本語訳)X. 開発/本番一致

Gemを追加するだけで動きますが、開発環境でも確認可能にしておきます。

config/cable.yml

default: &default
  adapter: redis
  url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
  channel_prefix: try_ac_simple_broadcast_production

development:
  <<: *default

test:
  adapter: test

production:
  <<: *default

Redisをインストールしてサーバを起動します。

brew install redis
redis-server /usr/local/etc/redis.conf

以上です。

この記事が気に入ったらサポートをしてみませんか?