Capistrano & Bash: ignore command exit status


Question

I'm using Capistrano run a remote task. My task looks like this:

task :my_task do
  run "my_command"
end

My problem is that if my_command has an exit status != 0, then Capistrano considers it failed and exits. How can I make capistrano keep going when exit when the exit status is not 0? I've changed my_command to my_command;echo and it works but it feels like a hack.

1
48
4/17/2009 2:35:04 AM

Accepted Answer

The simplest way is to just append true to the end of your command.

  task :my_task do
    run "my_command"
  end

Becomes

  task :my_task do
    run "my_command; true"
  end
77
2/25/2015 2:31:31 PM

For Capistrano 3, you can (as suggested here) use the following:

execute "some_command.sh", raise_on_non_zero_exit: false

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon