リポジトリからチェックアウト。パーミッション設定、sharedへのシンボリックリンク作成、キャッシュ更新のためのタイムスタンプ設定。currentシンボリックリンクの張り替え。railsをリスタートする。依存しているのは下の2つのタスク。restartは不要。Rails用のシンボリックリンク作成が不要。tmp,log,public/systemとか。finalize_updateを上書きして、自前のシンボリックリンク作成処理を追加した。rollbackタスクでもrestartを呼んでいたので修正。restartなしのrollbackはrollback:codeと同一になったので、rollback:codeの方をタスクごと消した。書かなければタスクは見えなくなる。以下のように使わないタスクを無効・不可視にした。Railsアプリケーション関連のタスクを消します。setupもとりあえず消します。必要なら自分で定義します。フックして、追加のタスクを実行するとよい。本番の設定の2つのステージを作成した。"staging"のdefault_stageは設定しなくても動く。ように毎回どのステージか指定しなければならない。default_stageの設定の有無は、どちらがいいか迷った。本番にデプロイするコマンドは、見た目がなるべく違った方がいいだろうという理由で、デフォルトにstagingを指定してある。毎回パスワードを入力する設定セキュリティというよりは、操作ミスを避ける目的でパスワードプロンプトを出すようにした。チェックアウトするユーザを固定にして、リモートにパスワードを記憶させてもいい気がする。バナーlive.rbにバナーの表示を足した。stagingと区別が付きにくくて怖かったので。here--------------------------------------------------------------------------------EOTfigletのコマンド名が思い出せず苦労した。-a"endのような簡単なコマンド実行タスクを足すとよい。希望Capistranoのバージョンアップでレシピが変わってしまう可能性はあるが、気にしない。Railsのプロジェクトでもデプロイの動作が変わると困るだろうし、そう簡単には変えないんじゃないだろうか。trueとか簡単にRails用のデプロイかどうかを切り替えられたらいいのに。