Chef infra 厨师长更新配置文件
我有一本厨师烹饪书,它安装nginx并安装一个自定义nginx.conf文件。它基本上与Opscode上的cookbook相同,并使用cookbook_文件安装该文件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
如果我更改了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