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