使用Chef

时间:2015-10-14 13:24:58

标签: chef tokenize

我希望在以后由Chef处理的文件中标记行。

例如,两个不同的文件将成为一个,我们需要一个令牌来处理差异:

set ns hostName HOST05
set ns hostName HOST06

差异是05和06.它们将在一个文件中,因此一行包含令牌。

寻找一种标记它们的方法,并让Chef管理令牌。

1 个答案:

答案 0 :(得分:1)

如果我说得对,你希望使用这样的template资源:

file.erb(mycookbook/templates/default中的模板化文件)

<% @tokens.each do |t| %>
set ns hostName HOST<%= t %>
<% end %>

在您的食谱中(例如mycookbook/recipes/default.rb中):

template "/path/to/target-file" do
  source "file.erb"
  variables("tokens" => ["05","06"])
end

这会输出一个类似你的例子的文件。