厨师与Capistrano的独奏整合

时间:2012-03-18 21:55:28

标签: capistrano chef

有没有厨师独奏的capistrano-chef宝石的替代品?通常,避免两次定义服务器信息。

2 个答案:

答案 0 :(得分:5)

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

Roundsman

的Gemfile:

gem 'roundsman', :require => false

Capfile:

require 'roundsman/capistrano'

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

答案 1 :(得分:0)

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

gem "Chef_Solo_Nodes"

然后,在cap deploy文件中:

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文件都可以选择定义属性:

  • IPADDRESS
  • 用户(或登录)
  • 端口