読者です 読者をやめる 読者になる 読者になる

capistranoで自動cleanupする時の注意点

capistranoでデプロイ先のreleaseフォルダをクリーニングするタスクにdeploy:cleanupがあります。

$ cap deploy:cleanup

コレを自動実行するためにdeploy.rbに次のように書くようアドバイスしているblogがいくつかあるようです。

after 'deploy:update', 'deploy:cleanup'

deploy:update後にdeploy:cleanupを実行しようとしてるんですが、私の手元の環境(capistrano 2.13.3, capistrano-ext 1.2.1)ではうまくフックできませんでした。
capistranoの実行結果を見ると、Currently executingにdeploy:updateは無いんですよね。

なのでフックするポイントを変更してみました。

after "deploy:restart", "deploy:cleanup"

今度はうまく実行できたようです。毎回手でcleanupするのは面倒なので早めに設定しておきましょう。