Capistrano の使い方
2007-02-19
せっかくなので、(まだ動かないけど) 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 で一時的にメンテナンス画面を表示するものみたい。 こんな感じでいろいろとカスタマイズできるのは魅力的。