[capistrano]
[rails]
[deploy]
Capistrano のタスクはフックできます。
hoge というタスクがあれば、その前後で、before_hoge と after_hoge が呼ばれます。
それを検証されているエントリ。
http://d.hatena.ne.jp/Rommy/20061021/1161440420
そこで、恐らく一番よく使われるであろう(?)、deploy_with_migrations タスクをみてみました。
(capistrano-1.3.1/lib/capistrano/recipes/standard.rb より。)
task :deploy_with_migrations do
update_code
begin
old_migrate_target = migrate_target
set :migrate_target, :latest
migrate
ensure
set :migrate_target, old_migrate_target
end
symlink
restart
end
- update_code
- ソースをチェックアウトし、shared 関連のシンボリックリンクを張る。
- migrate
- migrateを実行する。
- symlink
- 最新の release へ、current シンボリックリンクを張る。
- restart
- サーバーを再起動する。
task :after_symlink do
#追加したい処理
end
と、config/deploy.rb に書けばいいわけです。
こいつは便利だ。