mirror of
https://github.com/capistrano/capistrano
synced 2023-03-27 23:21:18 -04:00
7432c710b0
If an error is raised during a deploy, the task `deploy:failed` will be triggered. Custom tasks can hook into this using `after`: after 'deploy:failed', :send_for_help do # end I've also taken the opportunity to provide a marginally more useful error message before triggering the task. By default, this 'deploy:failed' will only be triggered when running `cap <stage> deploy` - to trigger after individual tasks use `set :deploying, true` This closes #708 and replaces https://github.com/capistrano/capistrano/pull/720
24 lines
488 B
Ruby
24 lines
488 B
Ruby
module RemoteCommandHelpers
|
|
|
|
def test_dir_exists(path)
|
|
exists?('d', path)
|
|
end
|
|
|
|
def test_symlink_exists(path)
|
|
exists?('L', path)
|
|
end
|
|
|
|
def test_file_exists(path)
|
|
exists?('f', path)
|
|
end
|
|
|
|
def exists?(type, path)
|
|
%{[ -#{type} "#{path}" ] && echo "#{path} exists." || echo "Error: #{path} does not exist."}
|
|
end
|
|
|
|
def safely_remove_file(path)
|
|
run_vagrant_command("rm #{test_file}") rescue Vagrant::Errors::VagrantError
|
|
end
|
|
end
|
|
|
|
World(RemoteCommandHelpers)
|