2

Capistrano のデプロイ中に、トラブルシューティングに十分な出力が得られないエラーが発生することがあります。例えば:

  * executing "cd /apps/my_app/releases/20121019181838 && bundle exec rake RAILS_ENV=dev RAILS_GROUPS=assets assets:precompile"
    servers: ["myserver.com"]
    [myserver.com] executing command
*** [err :: myserver.com] rake aborted!
*** [err :: myserver.com] Connection refused - connect(2)
*** [err :: myserver.com] 
*** [err :: myserver.com] Tasks: TOP => environment
*** [err :: myserver.com] (See full trace by running task with --trace)
    command finished in 2388ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /apps/my_app/releases/20121019181838; true"

rake タスク中に何か問題が発生しました。おそらく DB に関係しているようです。しかし、これをトラブルシューティングするには、展開の条件を再作成する必要があります。残念ながら、条件はrm -rf編集されています。

beforeまたはafterフックを使用して、Capistrano を (Cap または bash) シェルにドロップする方法はありますか? --traceCapistrano クラスをオーバーライドせずに、そのレーキ タスクに挿入する簡単な方法はありますか? 他のアイデア?

4

1 に答える 1

0

I handle situations as such in the following ways:

  • When I can be fast enough I simply hit CTR+Z (it 'pauses' the cap process) and then I investigate things onsite (over ssh, or the cap console).
  • I set the debug (cap --debug) flag when running the task - which makes cap prompt me before each remote command execution, so I can investigate the situation before/after every step.

Both ways usually are sufficient for me to handle the most situations quite quickly. Hope they will also help you.

于 2012-10-22T14:23:58.407 に答える