有没有厨师独奏的capistrano-chef宝石的替代品?通常,避免两次定义服务器信息。
答案 0 :(得分:5)
我在这个主题上发现了一些新鲜而热门的东西:
的Gemfile:
gem 'roundsman', :require => false
Capfile:
require 'roundsman/capistrano'
有关详细信息,请参阅自述文件。
答案 1 :(得分:0)
我决定编写一个ruby gem来解析nodes/*.json
中的文件并将它们转换为Capistrano友好的地址:
然后,在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
文件都可以选择定义属性: