2012-11 << 2012-12 >> 2013-01

2012-12-20 (木)

*Capistrano + Windows + use_sudoで少し困った

デプロイ先のマシンからリポジトリにアクセスできないので,

set :deploy_via, :copy

でデプロイして,さらに

set :use_sudo, true
set :admin_runner, 'hoge'

みたいな感じで別ユーザにsudoしてると,転送したファイルの所有権がログインユーザーになっててhogeからアクセスできない状態でデプロイされてしまったりするので,

after 'deploy:update_code' , :roles => :app, :except => { :no_release => true } do
# fix permition for deploy_via copy.
run "chmod -R ug+rw #{release_path} && find #{release_path} -type d -exec chmod a+x {} \\;"
end

みたいにして回避.capistranoを実行してコピー用のtarを作ってるマシンがwindowsなのがいけないのかも.