Chef更新配置文件
我有一本厨师食谱,它安装 nginx 并安装自定义 nginx.conf 文件。它与 Opscode 上的说明书基本相同,并使用 Cookbook_file 来安装文件。
如果我对 conf 文件进行更改,然后使用 Chef 重新运行说明书,则配置文件不会更新。这看起来像是一个错误——我做错了什么吗?
I have a chef cookbook which installs nginx and install a custom nginx.conf file. It's basically the same cookbook on Opscode, and uses cookbook_file to install the file.
If I make a change to the conf file, then rerun the cookbook using chef the configuration file isn't updated. This seems like a bug -- am I doing something wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Chef 中,菜谱中的命令顺序就是执行顺序。如果您保留了
nginx.conf
的template
并且它位于您的cookbook_file
命令之后,则生成的模板将覆盖您的文件。例如,
template
将覆盖cookbook_file
制定的文件。In chef that the order of commands in the recipe is the order of execution. if you kept the
template
for thenginx.conf
and it comes after yourcookbook_file
command, the generated template will overwrite your file.e.g.
The
template
would overwrite the file laid down bycookbook_file
.在测试中我发现,如果您设置了
:create_if_missing
,则如果内容已更改,则不会更新文件。设置:create
就可以了。In testing I have found that if you have
:create_if_missing
set it will not updated the file if it the contents have changed. Set:create
and it will.