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

时间:2017-04-17 16:28:51

标签: cluster-computing capistrano

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

这是我有的servers.cap:

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

你能给我一些关于如何做到这一点的好例子吗?我不是卡皮斯特拉诺专家,所以请更容易,更好。

非常感谢, 阿尔弗雷

1 个答案:

答案 0 :(得分:1)

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

例如:

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

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