I've been doing a lot of config-management/capistrano work recently,
and have found it incredibly useful to keep all my capistrano files
together. I'm not sure if we came up with the layout we've used in the
past, or if it's a normal capistrano thing, but we used to have a
layout like:

Capfile
config/deploy.rb
lib/capistrano/recipes/**/*.rb # recipes
config/deploy/*.rb # stages

Instead of doing that, what we've started doing is just putting
everything in a top-level capistrano directory. I'm turning into a bit
fan of this decision. It's really convenient since all the capistrano
code is all right by each other, and also seems really clean since
recipes and cap stages are a capistrano thing, and neither app code
(which I'd put in lib) nor app configuration options (which would live
in config).

So our current layout is:

Capfile
capistrano/deploy.rb
capistrano/recipes/**/*.rb
capistrano/deploy/**/*.rb # stages using path'd stages from
http://github.com/moneypools/capistrano-ext/tree
capistrano/tasks/*.rb # custom tasks we create

The only modification to get this to work is updating the Capfile:
load 'deploy' if respond_to?(:namespace) # cap2 differentiator
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) }
load 'capistrano/deploy' # was load 'config/deploy'

I'm a big fan of this and am curious as to what others think about it,
and if this is something that'd be considered for the default
capistrano layout.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Capistrano" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.co.uk/group/capistrano?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to