Capistrano の使い方
せっかくなので、(まだ動かないけど) Capistrano の使い方をメモ。
基本タスク
Capistrano で使えるタスクの一覧は、以下のコマンドで調べられる。
$ cap show_tasks
個人レベルで使うなら、とりあえずこれだけ覚えればよさそう。 いちおう、 Rails 前提で。
- cap setup
- 一番はじめに実行する。 deploy 先に必要なディレクトリをセットアップする。
- cap deploy
- deploy 先を最新のバージョンに更新する。 script/process/reaper を使って Rails サーバも再起動してくれる。
- cap deploy_with_migrations
- deploy するときに migrate も実行してくれる。
- cap rollback
- deploy 先のアプリを一つ前のバージョンに戻す。
deploy は内部で update, update_code, set_permissions, symlink, restart という他のタスクを呼んでいるっぽいから、最初はこれらのタスクを個々に呼んで挙動を覚えた方がよさそう。 慣れてきたら必要に応じて、 config/deploy.rb に自分好みのタスクを書いていけばよさそう。 config/deploy.rb には、はじめからサンプルが入っている。
desc "A task demonstrating the use of transactions." task :long_deploy do transaction do update_code disable_web symlink migrate end restart enable_web end
これは deploy に時間がかかる時に、 disable_web で一時的にメンテナンス画面を表示するものみたい。 こんな感じでいろいろとカスタマイズできるのは魅力的。