Railsのsession_storeをRedisで設定している場合のWercker設定方法


今のところ無料で使えるCIツールWerckerで、Redisをsessionストアとして使っている場合の設定方法にややハマったのでメモ

Werckerの設定ファイルにredisを追加

wercker.yml
box: wercker/rvm
services:
  - wercker/postgresql

  # ここがキモ redisのボックスを追加
  - wercker/redis

build:
    steps:
        - rvm-use:
以下省略


testの実行用設定ファイルを以下のよう、WERCKER_REDIS_HOSTの環境変数を先に読ませるように変更する。
こうすることで、ローカル環境で設定していないWERCKER_REDIS_HOSTがないと、固定値のlocalhoset~~が読み込まれるのでlocalでも動作可能となる

test.rb
 config.session_store_servers = "redis://localhost:6379/0"

test.rb
 redis_url = ENV["WERCKER_REDIS_HOST"] || "redis://localhost:6379/0"
  config.session_store_servers = redis_url