Chính xác thì “vai trò” trong Capistrano là gì?


86

Mục đích và chức năng của "vai trò" trong công thức Capistrano là gì? Khi tôi xem các công thức mẫu, tôi thường thấy những thứ như sau:

role :app, 'somedomain.com'
role :web, 'somedomain.com'
role :db,  'somedomain.com', :primary => true

Vì vậy, có vẻ như vai trò về cơ bản là một máy chủ nơi Capistrano thực thi các lệnh. Nếu đúng như vậy, thì tại sao nó lại được gọi là "vai trò" hơn là "máy chủ" hoặc "máy chủ"?

Trong ví dụ trên, sự khác biệt giữa là gì :app:webvai trò?

Quyền :primary => truechọn làm gì?

Câu trả lời:


67

Vai trò cho phép bạn viết các tác vụ capistrano chỉ áp dụng cho một số máy chủ nhất định. Điều này thực sự chỉ áp dụng cho việc triển khai nhiều máy chủ. Các vai trò mặc định của "ứng dụng", "web" và "db" cũng được sử dụng nội bộ, vì vậy sự hiện diện của chúng không phải là tùy chọn (AFAIK)

Trong mẫu bạn cung cấp, không có sự khác biệt về chức năng.

": Primary => true" là một thuộc tính cho phép tăng thêm chi tiết trong việc chỉ định máy chủ trong các tác vụ tùy chỉnh.

Dưới đây là một ví dụ về đặc tả vai trò trong định nghĩa nhiệm vụ:

task :migrate, :roles => :db, :only => { :primary => true } do
  # ...
end

Xem trang web capistrano @ https://github.com/capistrano/capistrano/wiki/2.x-DSL-Configuration-Roles-Role để có giải thích sâu hơn.


2
Cũng lưu ý: dòng của bạn nên là :only => { :primary => true }tôi nghĩ ... hoặc rolelệnh trong câu hỏi nên sử dụng :master => truethay thế. Tôi tin rằng những thuộc tính này hoàn toàn ở dạng tự do.
docwhat

3

Tùy chọn ": primary => true" chỉ ra rằng máy chủ cơ sở dữ liệu là máy chủ chính. Ví dụ, điều này rất quan trọng khi bạn muốn sử dụng bản sao với MySQL. Nó cho phép bạn tạo một máy chủ cơ sở dữ liệu được nhân bản khác có thể được sử dụng để chuyển đổi dự phòng tự động. Nó cũng được sử dụng để quyết định máy chủ cơ sở dữ liệu nào mà mô hình di chuyển sẽ được chạy (vì những thay đổi đó sẽ được sao chép sang các máy chủ chuyển đổi dự phòng). Liên kết này làm rõ hơn một chút: https://github.com/capistrano/capistrano/wiki/2.x-from-the-beginning#back-to-configuration

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.