部署 capistrano 部署 log 问题

tank_lei · 2013年04月24日 · 最后由 zfjoy520 回复于 2013年04月24日 · 2672 次阅读

下面就是任务代码: namespace :deploy do task :start do ; end task :stop do ; end task :restart, :roles => :app, :except => { :no_release => true } do run "touch #{File.join(current_path,'tmp','restart.txt')}" end task :seed do run "cd #{current_path}; rake db:seed RAILS_ENV=production" end end

after "deploy:update_code", :bundle_install desc 'install prerequisites' task :bundle_install, :roles => :app do run "cd #{release_path} && bundle install" end

在执行 executing deploy:migrate' 的时候,出现问题,查看了一下: undefined methodlog' for #Rails::Paths::Root:0x00000003301620 大概意思是 log 问题,为到服务器的 releases/ 目录查看当前发布版本,发现没有 log 文件夹,只是一个引用,指向 shared/log 目录,但这个目录下也没有内容,在 releses/2012****/ 下 执行 rake db:migrate 命令,出现错误提示,说是找不到 log 目录。

这个问题怎么解决?才学习 capistrano!在线等待!!

检查一下 log 的链接的有效性及权限。 没研究过 capistrano 这东西,以前这货不出名的时候,都是自己手写的 deploy rake,原理异曲同工。

#1 楼 @zfjoy520 查看好像没有什么问题吧:lrwxrwxrwx 1 app app 15 Apr 24 01:03 log -> test/shared/log

#2 楼 @tank_lei 这个链接好像是指向当前目录,这个链接确定不是红色的无效链接?

你 cd log 一下,看找不找得到这个路径呢。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号