No callbacks… use Ruby in your capscript (See my YAML http://github.com/leehambley/capistrano-yaml-multistage multistage, does exactly what you need.
- Lee On 14 June 2010 13:02, Robin Bowes <[email protected]> wrote: > Hi, > > I'd like to run a local task before anything else runs (to populate my > roles). Is there a callback I can use to do that? > > eg. I'm doing something like this: > > role :partition do end > role :queue_processor do end > role :web do end > > # Custom tasks for our local machine. > namespace :local do > > desc <<-DESC > Populate all roles > DESC > task :populate_roles do > enum_partition > enum_queue_processor > end > > end > > task :enum_partition do > desc "Enumerate hosts that are partition servers from puppet DB" > cmd = 'sc_hosts.rb --class profile::partition' > capture(cmd).each do |host| > next unless host.chomp > role(:partition, host) > role(:web, host) > end > end > > task :enum_queue_processor do > desc "Enumerate hosts having $HOME/queue_processor" > cmd = 'sc_hosts.rb --class app::tree::queue_processor' > capture(cmd).each do |host| > next unless host.chomp > role(:queue_processor, host) > role(:web, host) > end > end > > What I'm looking for is a suitable callback to run populate_hosts before > any other tasks, ie. > > before '????????', 'local:populate_roles' > > Can anyone suggest what I might use? > > R. > > -- > * 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]<capistrano%[email protected]>For > more options, visit this group at > http://groups.google.com/group/capistrano?hl=en -- * 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.com/group/capistrano?hl=en
