Domanda

Ho un libro di cucina dello chef che installa Nginx e installa un file Nginx.conf personalizzato.È fondamentalmente lo stesso libro di cucina su Opscode e utilizza CookBook_File per installare il file.

Se apporto una modifica al file Conf, rievochi il ricettario usando il chef il file di configurazione non è aggiornato.Questo sembra un bug - sto facendo qualcosa di sbagliato?

È stato utile?

Soluzione

In chef che l'ordine dei comandi nella ricetta è l'ordine di esecuzione.Se si è mantenuto il template per il nginx.conf e viene dopo il comando cookbook_file, il modello generato sovrascriverà il file.

E.G.

# cookbook file
cookbook_file "#{node[:nginx][:dir]}/nginx.conf" do
  source "my_nginx.conf"
  mode 0644
  owner "root"
  group "root"
end

# template
template "nginx.conf" do
  path "#{node[:nginx][:dir]}/nginx.conf"
  source "nginx.conf.erb"
  owner "root"
  group "root"
  mode 0644
  notifies :reload, "service[nginx]"
end
.

Il template sovrascriverebbe il file stabilito da cookbook_file.

Altri suggerimenti

In Test ho trovato che se hai il set di :create_if_missing, non aggiornerà il file se il contenuto è cambiato.Imposta :create e lo farà.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top