2011-10-31 4 views

Trả lời

31

Nhìn vào handbook, dường như bạn có thể vượt qua các thuộc tính :no_release định nghĩa role (thường được thực hiện cho vai trò web). Điều này chỉ ra rằng mã không nên được kiểm tra trên các máy chủ trong vai trò đó. Vì vậy, tôi đoán rằng khi một công việc chỉ định :except => { :no_release => true } - nó nói "Bỏ qua tác vụ này trên máy chủ (vai trò) có :no_release được định nghĩa là 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 

Trong ví dụ trên, các hoạt động khởi động lại không nên chạy trên máy chủ web. Một lần nữa, điều này không được thử nghiệm ... chỉ cần đi theo quan sát của tôi.