Capistranoのroleのサーバを実行時に決めたい件

一つ前のエントリでCapistranoの↓の事を記載しましたが、 ====== -S, –set-before NAME=VALUE  Set a variable before the recipes are loaded. ====== 今日は新たな壁に当たりました。   roleの対象サーバをcapコマンドの引数に渡して制御したいけど、 -Sで指定してもtaskの中まで行かないと使えないんですよね、、   ネットで探しても、タスクごとにroleを振り分けられるんですよ~的なのは たくさん見つかりましたが、コレっていうのが出てこず。 # Capistranoでは対象のサーバをroleというので指定します。 # 実行するときは↓こんな風に出てくるわけですけど。 # servers: ["hoge1", "hoge2", "hoge3", "hoge4"]   そしたら、roleの設定ってtaskの中でも出来るんですね。   ↓こんな感じでいい感じに実行時に-Sで渡した値によって 対象のサーバを切り替えられるようになりました。 ====== task :hoge_role do  if "#{hoge}" == "aaa" then   role :hosts, "hoge1","hoge2","hoge3","hoge4"  elsif "#{hoge}" == "bbb" then   role :hosts, "hoge5","hoge6","hoge7","hoge8" ~略~ end ======  

Railsデプロイ
Railsデプロイ
posted with amazlet at 10.05.07
Ezra Zygmuntowicz Bruce A. Tate Clinton Begin
オライリージャパン
売り上げランキング: 278746