2011-10-31 49 views

回答

31

望着handbook,似乎可以在:no_release屬性傳遞給role定義(通常爲網絡角色完成)。這表明該代碼不應該在該角色的服務器上檢出。

所以,我猜測,當一個任務指定:except => { :no_release => true } - 它說「跳過這個任務的服務器(角色)有:no_release定義爲true」。

role :app, "your app-server here" 
role :web, "your web-server here", :no_release => true 
role :db, "your db-server here", :primary => true 

...

desc "restart passenger" 
task :restart, :except => { :no_release => true } do 
    run "touch #{current_path}/tmp/restart.txt" 
end 

在上面的例子中,重新啓動操作不應該在Web服務器上運行。再次,這沒有經過測試......只是通過我的觀察。

相關問題