You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a Capistrano deploy fails, novice users especially have trouble interpreting the output. You get a Ruby backtrace mixed in with perhaps some stdout and stderr from the SSH command that failed.
For an experienced developer the cause of the error might be plain as day in this output, but nevertheless it represents a challenge to a lot of users, many of which might not even have a Ruby background (e.g. PHP devs).
I know this is potentially a lot of work, but it would be nice if Capistrano were to generate a nicely formatted error report that contained lots of useful troubleshooting information. Think of tools like better_errors in Rails, where you get an interactive backtrace, REPL, dump of the request hash, etc. I'm not saying we go that far, but there is definitely room for improvement with Capistrano's current output.
Some ideas:
An ssh command that the user can copy and paste into a shell to re-run the command that failed.
Nicely formatted info about: what command was run, in what working directory, with what env vars, as what user, etc.
The name of the Capistrano (Rake) task that failed.
Provide links to FAQ entries for common errors (e.g. git:check fails).
And maybe we could add a special troubleshooting task to dump information like:
A dump of env on the remote server.
The values of all known Capistrano variables (i.e. those given to set).
I'm sure there is other useful data that I'm forgetting at the moment.
When a Capistrano deploy fails, novice users especially have trouble interpreting the output. You get a Ruby backtrace mixed in with perhaps some stdout and stderr from the SSH command that failed.
For an experienced developer the cause of the error might be plain as day in this output, but nevertheless it represents a challenge to a lot of users, many of which might not even have a Ruby background (e.g. PHP devs).
I know this is potentially a lot of work, but it would be nice if Capistrano were to generate a nicely formatted error report that contained lots of useful troubleshooting information. Think of tools like
better_errors
in Rails, where you get an interactive backtrace, REPL, dump of the request hash, etc. I'm not saying we go that far, but there is definitely room for improvement with Capistrano's current output.Some ideas:
ssh
command that the user can copy and paste into a shell to re-run the command that failed.git:check
fails).And maybe we could add a special troubleshooting task to dump information like:
env
on the remote server.set
).I'm sure there is other useful data that I'm forgetting at the moment.
A source of inspiration for me is Bundler, which generates a bug report template when an error occurs: https://github.com/bundler/bundler/blob/master/lib/bundler/friendly_errors.rb#L53-L89
The text was updated successfully, but these errors were encountered: