Cluster computing Capistrano:如何计算角色中的服务器数量

Cluster computing Capistrano:如何计算角色中的服务器数量,cluster-computing,capistrano,Cluster Computing,Capistrano,我正在创建一个deploy.cap,它取决于servers.cap中的服务器数量,以运行一个或另一个任务,但我无法找到/想象计算该阵列的方法 这是我的servers.cap: server "server1.domain.net", :all, :app server "server2.domain.net", :all, :app 你能给我举个好例子吗?我不是capistrano专家,所以请你越简单越好 非常感谢,, Alfredo您可以使用角色DSL获取与给定角色匹配的服务器阵列。然后可以

我正在创建一个deploy.cap,它取决于servers.cap中的服务器数量,以运行一个或另一个任务,但我无法找到/想象计算该阵列的方法

这是我的servers.cap:

server "server1.domain.net", :all, :app
server "server2.domain.net", :all, :app
你能给我举个好例子吗?我不是capistrano专家,所以请你越简单越好

非常感谢,,
Alfredo

您可以使用
角色
DSL获取与给定角色匹配的服务器阵列。然后可以计算该数组中的项数

例如:

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

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

尝试了之后,我发现了一个错误:/usr/lib64/ruby/gems/1.8/gems/capistrano-2.15.9/lib/capistrano/configuration/namespaces.rb:191:in‘roles’:参数数目错误(1代表0)(ArgumentError)你知道我忘记了什么吗?明白了,它是:放置角色[:所有]。服务器。sizeAh抱歉,我没有意识到它是用于旧版本的capistrano。很高兴你明白了!