Cap deploy不会创建共享/日志文件夹

时间:2012-03-29 07:04:30

标签: ruby-on-rails capistrano

当我运行我的cap部署时,它抱怨它无法访问日志文件:

  

Rails错误:无法访问日志文件。请确保   /var/superduperapp/releases/20120329011558/log/production.log存在   并且是chmod 0666.日志级别已经提升到WARN和   输出定向到STDERR,直到问题得到解决。

似乎我必须手动创建一个日志文件夹。有没有办法用Capistrano做到这一点,所以无论谁部署它都不必记得每次进行新部署时都要创建文件夹?

2 个答案:

答案 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

每次部署时都不需要创建此目录。一次就够了。共享目录永远不会更改。