vlad the deployer vlad:start_app与乘客问题

时间:2010-06-23 13:17:31

标签: ruby-on-rails ruby deployment vlad-deployer

我正在尝试使用vlad the deployer来部署rails应用程序。

我正在使用nginx和乘客。

vlad:start_app任务有问题。

当我部署时,我得到以下问题

touch: cannot touch `/var/www/mysite.com/releases/20100623130302/tmp/restart.txt': No such file or directory
rake aborted!
execution failed with status 1: ssh mysite.com touch /var/www/mysite.com/releases/20100623130302/tmp/restart.txt

问题很明显,因为版本中的20100623130302不存在。

我宁愿使用以下任务,但不能通过将其放在我的config / deploy.rb文件中来覆盖默认的vlad:start_app任务。

namespace :vlad do

  desc 'Restart Passenger'
    remote_task :start_app do
    run "touch #{current_path}/tmp/restart.txt"
  end

end

任何帮助表示赞赏。我可以选择让默认的vlad任务工作,或者某种方式来覆盖默认的vlad任务。

2 个答案:

答案 0 :(得分:0)

RAILS_ROOT/Rakefile是文件。

答案 1 :(得分:0)

要覆盖任务,您必须先删除前一个任务,因为再次定义相同的任务只会创建第二个任务,该任务将在第一个任务之后运行。

以下是vlad website如何替换任务的示例:

namespace :vlad do
  # Clear existing update task so that we can redefine instead of adding to it.
  Rake.clear_tasks('vlad:update')

  remote_task :update, :roles => :app do
    #custom update stuff
  end
end