Tài nguyên cookbook_file và mẫu hỗ trợ tham số "cookbook" chỉ định sách nấu ăn nào chứa tệp nguồn. Sau đó, bạn có thể tạo một cuốn sách nấu ăn "commons" trong đó các tệp đó sống như một thực thể duy nhất. Ví dụ:
% cookbooks/commons
cookbooks/commons
|-- files
| `-- default
| `-- master.conf
`-- templates
`-- default
`-- general.conf.erb
Giả sử bạn có hai sách dạy nấu ăn, thing1 và thing2, và cả hai đều sử dụng chúng. Các công thức nấu ăn có thể là:
# thing1/recipes/default.rb
cookbook_file "/etc/thing1/master.conf" do
source "master.conf"
cookbook "commons"
end
template "/etc/thing1/general.conf" do
source "general.conf.erb"
cookbook "commons"
end
# thing2/recipes/default.rb
cookbook_file "/etc/thing2/like_master_but_different.conf" do
source "master.conf"
cookbook "commons"
end
template "/etc/thing2/not_as_general_as_you_think.conf" do
source "general.conf.erb"
cookbook "commons"
end
Tuy nhiên, tôi sẽ hỏi tại sao bạn có sự trùng lặp giữa các loại chức năng khác nhau trong sách nấu ăn của bạn? Đó là, loại điều này có phù hợp với một nhà cung cấp / tài nguyên nhẹ tùy chỉnh mà bạn sử dụng không?