5

厨师独奏的capistrano-chef gem有替代品吗?大多数情况下,为了避免两次定义服务器信息。

4

2 回答 2

5

我在这个话题上发现了一些新鲜和热门的东西:

巡视员

宝石文件:

gem 'roundsman', :require => false

帽文件:

require 'roundsman/capistrano'

有关详细信息,请参阅自述文件。

于 2012-05-02T16:37:51.060 回答
0

我决定编写一个 ruby​​ gem 来解析文件nodes/*.json并将它们转换为 Capistrano 友好的地址:

宝石“Chef_Solo_Nodes”

然后,在 cap 部署文件中:

require "Chef_Solo_Nodes"
role :app, *Chef_Solo_IPs('app')
role :db, *Chef_Solo_IPs('db')

这相当于:

role :app, "user@host:port", "xx.xx.xx.xx"
role :db, "xx.xx.xx.xx"

每个node/*.json文件都可以选择定义属性:

  • IP地址
  • 用户(或登录名)
  • 港口
于 2012-03-19T13:39:39.717 回答