capistrano の対象の server を ansible の inventory file から設定する
hosts = `ansible -i /path/to/inventory hoge:fuga --list-host` hosts.split("\n").map { |host| host.strip }.each do |host| server host, user: 'app', roles: %w{app} end
これだと ansible 上でいう hoge または fuga な host をリストアップし、capistrano でいう app という role をつけることになる。
ansible, capistrano それぞれ向いてる所で使いたい、管理するホスト数はそんなに多くないけど二重で管理はしたくない場合はこういう感じで書いておくと良さそう
@soh335 capのroleに対応するホスト名一覧をchef-serverからchefのroleを元に作るみたいなのはやってますね。(deployにはcap使わないけどcap shellのために)
— fujiwara (@fujiwara) July 23, 2015