Capistrano Chef-solo
This is an attempt to combine the powers of Capistrano and chef-solo.
You can easily specify run lists:
before "deploy" do
chef.solo "recipe[foo]", "recipe[bar]"
end
And set some node attributes:
set :chef_attributes, :foo => { :bar => "baz" }
Cookbooks will be automatically be copied from config/cookbooks
and vendor/cookbooks
.
Then an empty VM can be installed, configured and deployed in one single command:
cap deploy
Installation
Add to your Gemfile
:
gem 'capistrano_chef_solo', :require => false, :group => :development
And run bundle install
.
Next, require me from your Capfile
:
require 'capistrano_chef_solo'
Usage
Read the full documentation by typing:
cap --explain chef | less
Note
This gem is in very early stage of development and should be considered as just a spike at this moment. Feel free to use it, and give me feedback on your experiences. But please, try it out on a simple VM first.
Todo
- Support roles in both Capistrano and Chef.
- Support remote cookbooks
Tips
Colors
Capistrano and chef both give a lot of output. It helps to install capistrano_colors
Vagrant
Using Vagrant is a good way for testing out chef recipes.
Copyright Iain Hecker, 2011. Released under the MIT License.