当我运行我的cap部署时,它抱怨它无法访问日志文件:
Rails错误:无法访问日志文件。请确保 /var/superduperapp/releases/20120329011558/log/production.log存在 并且是chmod 0666.日志级别已经提升到WARN和 输出定向到STDERR,直到问题得到解决。
似乎我必须手动创建一个日志文件夹。有没有办法用Capistrano做到这一点,所以无论谁部署它都不必记得每次进行新部署时都要创建文件夹?
答案 0 :(得分:20)
当您运行cap deploy:setup
时,这些文件夹应由capistrano创建,您运行它吗?要检查一切是否正常,您可以在它之前运行cap deploy:check
。
答案 1 :(得分:3)
您可以创建自定义任务来创建此目录并将其作为第一个任务启动:
task :create_log_share do
run "mkdir -p #{shared_path}/log"
end
before 'deploy:update', :create_log_share
每次部署时都不需要创建此目录。一次就够了。共享目录永远不会更改。