Ответ 1
Глядя на 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
В приведенном выше примере операция перезапуска не должна выполняться на веб-сервере. Опять же, это не проверено... просто по моим наблюдениям.