More than 1 year has passed since last update.

公式に書いてあるだろと言われそうですが一応。

Services にある Redis を利用する

Services - wercker

MySQL/PostgreSQL 以外にも MongoDB 等があり、その中に Redis も利用できる。

このサービスを利用する事で、ビルドプロセスの中で Redis をインストールしたりする必要が無くなる。

利用方法

wercker.yaml

以下のように wercker/redisservices に追加します。

wercker.yaml
box: wercker/rvm
services:
    - wercker/redis
build:
    ....

コードでの利用

可能ならテスト環境でのみ差し替えられるようにした方が便利です。(mock-redis とかを使うケースの方が多いかもしれませんが)

spec_helper.rb
# redis-rb を利用している場合
config.before :all do
  Redis.current = Redis.new(
    host: "#{ENV['WERCKER_REDIS_HOST'] || 'localhost'}", 
    port: "#{ENV['WERCKER_REDIS_PORT'] || 6379"
  )
end

dotenv とか使えば || の部分は削れそうですが、お好みで。

参考: Getting started with Flask, Redis and wercker

他の環境変数

  • REDIS_URL: redis://host:port/ 形式の値が取れる
  • WERCKER_REDIS_URL : 同上
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.