Yemek kitapları arasında paylaşılan dosyalar / şablonlar


11

Aynı dosyalara ve şablonlara referans veren ve bunların hepsinin aynı dosya olduğundan emin olmanın makul bir yolu olup olmadığını merak eden birden fazla yemek kitabımız var. Birden çok tarif / yemek kitabı tarafından referans verilen tek bir dosya / şablon olabilir mi? Simgeleri kullanmayı düşündüm, ancak Git onları desteklemediğinden bu bizim için çalışmaz.

Yanıtlar:


17

Yemek kitabı_dosyası ve şablon kaynakları, hangi yemek kitabının kaynak dosyayı içerdiğini belirten bir "yemek kitabı" parametresini destekler. Ardından, bu dosyaların tek bir varlık olarak yaşadığı bir "ortak" yemek kitabı oluşturabilirsiniz. Örneğin:

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

Diyelim ki iki yemek kitabınız var, şey1 ve şey2, ve her ikisi de bunları kullanıyor. Tarifler şunlar olabilir:

# 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

Ancak, neden yemek kitaplarınızdaki farklı işlevsellik türleri arasında çoğaltma yaptığınızı sorarım? Yani, bu tür şeyler kullandığınız özel bir hafif kaynak / sağlayıcı için uygun olur mu?


1
Örnek ve diğer çözüm için teşekkürler. Bu harika!
gdurham
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.