是否可以将部分模板附加到现有文件? [厨师食谱]

问题描述 投票:1回答:2

我希望将配置添加到从tar文件中提取的conf文件中。

目前,该手册正在使用模板覆盖整个文件,而我需要将原始文件用作模板并添加到其中。

部分模板似乎完成了任务,但我无法找到部分应用于现有文件的示例,

它甚至可能吗?

谢谢

chef partials cookbook chef-template
2个回答
1
投票

不,你真的不能这样做。如果原件不是erb模板,则不能以这种方式使用它。你真的有两个选择。

  1. 创建一个模板,其中包含原始文件作为其中的部分文件。我认为这会有用,虽然我从来没有尝试过,而且我不确定厨师的系统会让你使用菜谱外的文件作为部分文件。
  2. 使用chef的FileUtil模块来修改文件。如果你这样做,我强烈建议你创建一个LWRP来包装它,并在chef缓存中创建新文件,然后与现有文件进行比较,只有在更改时才“更新”。

实际上,您最好的选择几乎肯定是使用自定义erb模板。如果您需要重新捕获原始文件中的某种特殊数据,则可以使用ruby_block从原始数据中读取该数据,然后将其传递到模板中。


0
投票

看来你可能会使用第二种方法。我尝试过使用此示例中的部分模板,但https://github.com/danielsdeleo/partials

© www.soinside.com 2019 - 2024. All rights reserved.