Ubuntuでのapache再起動Capistranoコマンド

なんか必要そうな人がいる予感。
書いてみた。

●deploy.rbの一部

namespace :hoge do

  # deploy
  task :hoge:deploy, :roles => :web do
    # 適当にdeployコマンドを書く。git pullとか。
    run "...."
  end

  # deploy後コマンド
  after "hoge:deploy", :roles => [:web] do
    web_restart
  end

  # webサーバ再起動
  task :hoge:web_restart, :roles => [:web] do
    run "apache2ctl configtest"
    sudo "/etc/init.d/apache2 graceful"
  end
end

●実行方法

# デプロイ + 再起動
$ cap hoge:deploy
# 再起動のみ
$ cap hoge:web_restart