at posts/single.html

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 で一時的にメンテナンス画面を表示するものみたい。 こんな感じでいろいろとカスタマイズできるのは魅力的。

関連する日記