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

Reply via email to