File / modelli condivisi tra libri di cucina


11

Abbiamo più libri di cucina che fanno riferimento agli stessi file e modelli e ci chiedevamo se esiste un modo ragionevole per garantire che tutti questi siano lo stesso file per garantire che nessuno vada fuori moda. È possibile avere un singolo file / modello a cui fanno riferimento più ricette / libri di cucina? Ho pensato di utilizzare i collegamenti simbolici, tuttavia questo non funzionerà per noi in quanto Git non li supporta.

Risposte:


17

Il file cookbook_file e il modello supportano un parametro "cookbook" che specifica quale ricettario contiene il file sorgente. Quindi potresti creare un ricettario "comune" in cui quei file vivono come un'unica entità. Per esempio:

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

Supponiamo di avere due libri di cucina, cosa1 e cosa2, e entrambi li usano. Le ricette potrebbero essere:

# 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

Tuttavia, vorrei chiedere perché hai duplicati tra i diversi tipi di funzionalità nei tuoi libri di cucina? Cioè, questo tipo di cose sarebbe adatto a una risorsa / fornitore leggero personalizzato che usi?


1
Grazie per l'esempio e l'altra soluzione. Questo è perfetto!
gdurham,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.