2017-04-17 10 views
0

私はdeploy.capを作成しています。これはservers.capにあるサーバの数によって異なりますが、1つのタスクを実行することはできませんが見つかりません/その配列を数える方法を想像してください。Capistrano:ロール内のサーバ数をカウントする方法

これは私が持っているservers.capです:

server "server1.domain.net", :all, :app 
server "server2.domain.net", :all, :app 

は、あなたは私にそれを行う方法についていずれかの良い例を与えてもらえますか?私はカピストラーノの専門家ではありませんので、より簡単に、より簡単にしてください。

多くのおかげで、 アルフレド

答えて

0

あなたが与えられた役割に一致するサーバーのアレイを得るためにroles DSLを使用することができます。次に、その配列内の項目の数を数えることができます。例えば

# Capistrano 3.x 
puts roles(:all).size 

# Capistrano 2.x 
puts roles[:all].servers.size 
+0

が、私はエラーを取得していますことをしようとしました: /usr/lib64/ruby/gems/1.8/gems/capistrano-2.15.9/lib/capistrano/configuration/namespaces .rb:191: 'roles ':引数の数が間違っています(0の場合は1)(ArgumentError) 私が忘れていることを知っていますか? –

+0

それはありました: puts roles [:all] .servers.size –

+0

ああ、申し訳ありません、私はそれがカピストラノの旧バージョン用だったことに気付きませんでした。あなたがそれを理解してうれしい! –

関連する問題