capistranoのメモ
capistranoをなんとなく使っていたのだけど、
今日はじめて複数環境にデプロイできるようにしたので、メモ。
複数環境にデプロイ
既にスクリプトが存在している前提ですが、
# 共通の設定は外にかけばよい set :deploy_to, "/var/www/html/#{application}" task :staging do set :user, "XXXXXXX" role :web, "XXXXXXX" role :app, "XXXXXX" # などステージング環境用の設定 end task :production do set :user, "XXXXXXX" role :web, "XXXXXXX" role :app, "XXXXXXX" # などプロダクション環境用の設定 end
てすると、
cap staging deploy
でステージング
cap production deploy
でプロダクション環境用の設定を使ってデプロイされます。
runコマンド内でsudo
普通に"sudo XXXX"てやると対話的に聞かれなくて、詰まってたのですが、こうすればよかったらしい。
run "#{sudo :as => 'root'} chown -R apache.apache #{current_release}"