我的 capifony 部署运行良好,但 capifony 清理命令失败。
我通过 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 服务器上)
最佳答案
是的,目前使用 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"
关于symfony - 上限部署 :cleanup fails with use_sudo=true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754307/