Tôi đang sử dụng Capistrano để xử lý triển khai của mình và tôi có hai vai trò khác nhau trong thiết lập của mình -: web và: đang xử lý. Cả hai đều có nhiệm vụ triển khai thông thường, nhưng nhiệm vụ khởi động lại cần phải khác nhau đối với hai loại máy chủ.Làm thế nào để bạn xác định các nhiệm vụ giống nhau cho các vai trò khác nhau trong Capistrano?
Vì vậy, nỗ lực đầu tiên của tôi là một cái gì đó như thế này:
task :restart, :roles => :web do
run "... web related restart stuff ..."
end
task :restart, :roles => :processing do
run "... processing related restart stuff ..."
end
nào không làm việc, bởi vì thứ hai: khởi động lại (đối với: vai trò chế biến) thay người đầu tiên: khởi động lại (đối với: vai trò web), và: web: khởi động lại không bao giờ xảy ra.
Tôi đã xem nhanh để xem liệu tôi có thể viết mã có điều kiện hay không tùy thuộc vào vai trò (hoặc vai trò) mà máy chủ có thể thực hiện khi nhiệm vụ được chạy nhưng không có tài liệu nào ngoài đó. Bất kỳ ý tưởng?