you can do before "deploy:setup", "deploy:one", "deploy:two", "deploy:three"
I usually format them as: before "deploy:setup", "deploy:one", "deploy:two", "deploy:three" Which is clearer to me you can also do it as a block and method call syntax before "deploy:setup" do deploy.one deploy.two deploy.three end There is also a way to do transactions, such that rollbacks are called if one of the tasks fails. I haven't had an opportunity to use the transaction form, but it exists. I also wrap my top level tasks so that long task chains don't get invoked unless I use a top level task on :start, :only => ["deploy:setup", "deploy:cold", "deploy", "deploy:migrations"] do after "deploy:migrate", "notify:admins" end That allows me to run "deploy:migrate" by itself without triggering behavior that should happen with the top level tasks. This is particularly helpful when you are trying to fix something that has went wrong. Many of my recipes have common commands, like :install, :setup, :configure, :verify where: after "sphinx:install", "sphinx:setup", "sphinx:configure", "sphinx:verify" When "sphinx:install" is called in a top level task, it automatically follows up with the other three. But when I invoke without one of the top level tasks, I can call them individually and it doesn't start walking down the task chain. On Wed, Mar 3, 2010 at 1:36 PM, pete <[email protected]> wrote: > Hi- > > I would like to execute several commands that each depend on each > other. For example, "cleanup" depends on "deploy" completing and > "deploy" depends on "stage" completing. > > I have separate tasks defined for each of these, but when I try to add > them into a single task to run them all, sometimes files don't exist > when deploying because "stage" did not finish executing, etc. > > Seems like an ideal situation for "before" but all the examples I have > seen only show "before" being used with 2 tasks (e.g. before("task2", > "task1") > > Is there a way to chain multiple events that have dependencies on each > other using the "before" task? > > Thanks! > > -- > * 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
