कुकबुक के बीच साझा की गई फाइलें / टेम्प्लेट


11

हमारे पास कई कुकबुक हैं जो एक ही फाइल और टेम्प्लेट का संदर्भ देते हैं और सोच रहे थे कि क्या इन सभी को सुनिश्चित करने का एक उचित तरीका है कि यह सुनिश्चित करने के लिए एक ही फाइल है कि कोई भी तारीख से बाहर न जाए। क्या एकल फ़ाइल / टेम्पलेट को कई व्यंजनों / रसोई की किताबों द्वारा संदर्भित किया जाना संभव है? मैंने सिम्बलिंक का उपयोग करने के बारे में सोचा, हालांकि यह हमारे लिए काम नहीं करेगा क्योंकि गिट उनका समर्थन नहीं करता है।

जवाबों:


17

कुकबुक_फाइल और टेम्प्लेट संसाधन "कुकबुक" पैरामीटर का समर्थन करते हैं जो निर्दिष्ट करता है कि कुकबुक में स्रोत फ़ाइल शामिल है। तब आप एक "कॉमन्स" रसोई की किताब बना सकते हैं, जहाँ वे फाइलें एकल इकाई के रूप में रहती हैं। उदाहरण के लिए:

% cookbooks/commons
cookbooks/commons
|-- files
|   `-- default
|       `-- master.conf
`-- templates
    `-- default
        `-- general.conf.erb

मान लीजिए कि आपके पास दो कुकबुक, 1 और 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

हालाँकि, मैं पूछता हूँ कि आपकी कुकबुक में विभिन्न प्रकार की कार्यक्षमता के बीच दोहराव क्यों है? यही है, इस तरह की बात एक कस्टम हल्के संसाधन / प्रदाता के लिए उपयुक्त होगी जिसे आप उपयोग करते हैं?


1
उदाहरण के लिए धन्यवाद और साथ ही अन्य समाधान। यह पूर्ण है!
gdurham
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.