Chef infra 厨师长更新配置文件

Chef infra 厨师长更新配置文件,chef-infra,Chef Infra,我有一本厨师烹饪书,它安装nginx并安装一个自定义nginx.conf文件。它基本上与Opscode上的cookbook相同,并使用cookbook_文件安装该文件 如果我更改了conf文件,那么使用chef重新运行cookbook,因为配置文件没有更新。这似乎是一个bug——我做错了什么吗?在chef中,配方中的命令顺序就是执行顺序。如果为nginx.conf保留模板,并且该模板位于cookbook\u file命令之后,则生成的模板将覆盖您的文件 e、 g 模板将覆盖cookbook\u

我有一本厨师烹饪书,它安装nginx并安装一个自定义nginx.conf文件。它基本上与Opscode上的cookbook相同,并使用cookbook_文件安装该文件


如果我更改了conf文件,那么使用chef重新运行cookbook,因为配置文件没有更新。这似乎是一个bug——我做错了什么吗?

在chef中,配方中的命令顺序就是执行顺序。如果为
nginx.conf
保留
模板
,并且该模板位于
cookbook\u file
命令之后,则生成的模板将覆盖您的文件

e、 g


模板
将覆盖
cookbook\u file

在测试中设置的文件。我发现,如果您设置了
:create\u if\u missing
设置,则如果文件内容已更改,则不会更新该文件。设置
:创建
,它会。

您使用的是
chef-client
还是
chef-solo
?如果
chef-client
,您是否已使用
knife-cookbook-upload
将新的烹饪书上载到厨师服务器?此答案非常准确且完美。
# 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