dav*_*aro 31

查看手册,您似乎可以将:no_release属性传递给role定义(通常为Web角色完成).这表示不应在该角色的服务器上签出代码.

所以,我猜测当一个任务指定时: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
Run Code Online (Sandbox Code Playgroud)

...

desc "restart passenger"
task :restart, :except => { :no_release => true } do
  run "touch #{current_path}/tmp/restart.txt"
end
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,重新启动操作不应在Web服务器上运行.再次,这没有经过测试......只是按照我的观察.