Chef infra 厨师长:从“添加到现有文件”;雇员再培训局;模板
是否有方法将erb代码附加到配置文件:Chef infra 厨师长:从“添加到现有文件”;雇员再培训局;模板,chef-infra,Chef Infra,是否有方法将erb代码附加到配置文件: <% @zookeeper.each_with_index do |ip, id| %> <%= "server.#{id}=#{ip}:2888:3888" %> <% end %> 不,这不是Chef直接支持的功能。模板资源希望控制整个文件内容。这确保了幂等性和收敛性。附加Chef 您不能以幂等方式将ERB模板附加到现有文件中,但可以通过以下一种或多种技术获得所需的行为: A 执行外部sh
<% @zookeeper.each_with_index do |ip, id| %>
<%= "server.#{id}=#{ip}:2888:3888" %>
<% end %>
不,这不是Chef直接支持的功能。
模板
资源希望控制整个文件内容。这确保了幂等性和收敛性。附加Chef
您不能以幂等方式将ERB模板附加到现有文件中,但可以通过以下一种或多种技术获得所需的行为:
echo“$somestring”>>outfile
- /tmp/foo.erb
<% # Set up a fixture. This should really be a Chef attribute. %> <% @zookeeper = %w[192.168.1.1 192.168.2.2] %> <% @zookeeper.each_with_index do |ip, id| %> <%= "server.#{id}=#{ip}:2888:3888" %> <% end %>
- /tmp/bar.erb
<% @zookeeper = %w( server.0=192.168.1.1:2888:3888 server.1=192.168.2.2:2888:3888 ) %><%= @zookeeper.join "\n" %>
<%
@zookeeper = %w(
server.0=192.168.1.1:2888:3888
server.1=192.168.2.2:2888:3888
)
%><%= @zookeeper.join "\n" %>
$ erb /tmp/bar.erb
server.0=192.168.1.1:2888:3888
server.1=192.168.2.2:2888:3888