I was trying to reproduce this behaviour in a simple task but I
cann't :-(
I tried with this task:
desc "Something to check it"
task :on_error_test, :on_error => :continue, :role => :app do
run "~/foobar.sh"
end
foobar.sh is a simple script(echo message), it's stored in all hosts
except only one to make it fail.
And it show me a correct behaviour. The task is executed in all servers
fail or not fail.
The second test that I did was write a syntax error in the script
(a command not found) and one server without the script. The task was
executed in all servers likewise.
The third and last test, I added a exit 1 (I test it with an exit 2
too) in the script to return an exit value. And again I cann't reproduce
it :-(
Could you paste again your deploy.rb?
--
Rafa