What Rafael said, except if you're rescuing the exception you should be
able to leave off the :on_error => :continue bit.
Also, to force a task to succeed or fail...I assume you mean run()? Or
do you really mean task()?
To force a run command to succeed, just append "; true" to the end of
the command:
run "something that might fail; true"
Likewise, to make it fail, just append "; false" to the end:
run "something that must fail; false"
(That's not Capistrano magic, that's *nix. Most (all?) unices come with
'true' and 'false' commands. The 'true' command does nothing except exit
with a status code of 0. The 'false' command does nothing except exit
with a status code of 1.)
- Jamis
On 1/21/09 10:42 AM, Rafael G. wrote:
> Gerhardus Geldenhuis wrote:
>> Hi
>> Is there a way to run different tasks based on the exit status of a
>> run command? Also how can I "force" a task to fail or succeed, how is
>> the failure/success of a task determined/defined.
>>
>> Regards
>>
> You can write a task with :on_error set to :continue and then catch the
> exception, I never done it, the idea is:
> task :foo, :on_error => :continue do
> begin
> run "important task"
> rescue Exception => error
> puts "Important task fail!!: #{error}"
> foo.task_if_foo_fail
> end
> end
>
>
> >
--~--~---------~--~----~------------~-------~--~----~
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at http://groups.google.com/group/capistrano
-~----------~----~----~----~------~----~------~--~---