Что означает: кроме => {: no_release => true} в DSL Capistrano - PullRequest
24 голосов
/ 01 ноября 2011

Например, в:

 task :restart, :roles => :app, :except => { :no_release => true } do
 end

1 Ответ

31 голосов
/ 02 ноября 2011

Глядя на справочник , вы можете передать атрибут :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

В приведенном выше примере операция перезапуска не должна выполняться на веб-сервере.Опять же, это не проверено ... просто исходя из моих наблюдений.

...