2010-06-23 77 views
1

我試圖部署使用vlad部署者的rails應用程序。vlad部署者vlad:start_app與乘客問題

我正在使用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不存在明顯。

我寧願使用以下任務,但不能覆蓋默認的vlad:start_app任務,方法是將其放置在我的config/deploy.rb文件中。

namespace :vlad do 

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

end 

任何幫助表示讚賞。我的選項是讓默認的vlad任務工作,或者重寫默認的vlad任務。

回答

0

RAILS_ROOT/Rakefile是該文件。

+0

我已經嘗試過,但是弗拉德任務都在弗拉德寶石裝像... 開始 要求「弗拉德」 Vlad.load(:app =>:passenger,:scm =>「git」) rescue LoadError => e puts「Unable to load Vlad#{e}」。 end 另外remote_task是加載了vlad的東西,所以無法使用remote_task定義任務,直到vlad加載到現有的vlad:start_app任務爲止! – 2010-06-23 16:44:23

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