Automation

食譜之間的共享文件/模板

  • January 7, 2016

我們有多個參考相同文件和模板的食譜,並且想知道是否有合理的方法來確保所有這些都是相同的文件,以確保沒有一個過時。是否可以讓多個食譜/食譜引用單個文件/模板?我考慮過使用符號連結,但是這對我們不起作用,因為 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

但是,我會問為什麼你的食譜中有不同類型的功能之間的重複?也就是說,這種東西是否適合您使用的自定義輕量級資源/提供者?

引用自:https://serverfault.com/questions/415692