我的capifony部署工作得很好,但是capifony cleanup命令失败了。
我在ssh上使用私钥,使用sudo获取部署目录的写权限。
通过扩展日志记录,cap deploy:cleanup
的结果是:
$ cap deploy:cleanup
* 2013-07-19 15:44:42 executing `deploy:cleanup'
* executing "sudo -p 'sudo password: ' ls -1dt /var/www/html/releases/* | tail -n +4 | sudo -p 'sudo password: ' xargs rm -rf"
在此实例中,修改权限以使部署用户对此目录具有完全写入权限。
有没有人见过/解决过这个问题? (这是在RHEL6服务器上)
答案 0 :(得分:3)
是的,此时使用sudo时清理命令存在问题。这是解决这个问题的解决方案。将其添加到deploy.rb
namespace :customtasks do
task :customcleanup, :except => {:no_release => true} do
count = fetch(:keep_releases, 5).to_i
run "ls -1dt #{releases_path}/* | tail -n +#{count + 1} | #{try_sudo} xargs rm -rf"
end
end
然后将其称为清理
after "deploy:update", "customtasks:customcleanup"
的更多信息