Automation
食譜之間的共享文件/模板
我們有多個參考相同文件和模板的食譜,並且想知道是否有合理的方法來確保所有這些都是相同的文件,以確保沒有一個過時。是否可以讓多個食譜/食譜引用單個文件/模板?我考慮過使用符號連結,但是這對我們不起作用,因為 Git 不支持它們。
cookbook_file 和模板資源支持“cookbook”參數,該參數指定哪個說明書包含源文件。然後,您可以創建一個“公共”食譜,其中這些文件作為一個實體存在。例如:
% cookbooks/commons cookbooks/commons |-- files | `-- default | `-- master.conf `-- templates `-- default `-- general.conf.erb
假設您有兩本食譜,thing1 和 thing2,它們都使用這些。食譜可能是:
# 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
但是,我會問為什麼你的食譜中有不同類型的功能之間的重複?也就是說,這種東西是否適合您使用的自定義輕量級資源/提供者?