如何在Chef模板中包括静态文件内容

时间:2018-06-20 05:47:04

标签: chef chef-recipe

我有一个模板,试图包含文件夹中的string[] compID = new string[] { "0002", "0001", "0005", "0006" }; string[] divisionCode = new string[] { "01021159", "02013350", "02013483", "02013804", "02013375", "02013374", "02013380", "02013398", "02017379", "02013391", "02013444", "02013353", "02004458", "02013394" }; var ACM = (from t1 in Entity.ApprovedContracts join t2 in Entity.ApprovedResources on t1.ApprovedResourceId equals t2.ResourceGeneralId where compID.Contains(t1.OpuCode) && divisionCode.Contains(t1.DivisionCode) select new { t1.OpuCode, t1.DivisionCode, t2.EnterpriseId, t2.ResourceEmail }).ToList();here 个文件。我的模板abc.conf.erb中有以下一行

.conf

在/tmp/config.d内部,我有多个include /tmp/config.d/*.conf 文件。我想获取目录中所有.conf文件的内容,并在abc.conf文件中包含include语句。我也尝试过

.conf

当我运行配方时,模板仅具有相同的包含内容。这是食谱的源代码

include=/tmp/config.d/*.conf

2 个答案:

答案 0 :(得分:0)

主厨对此没有什么特别的要求。您必须使用常规的Ruby文件API自己构建它。

答案 1 :(得分:0)

您可以读取模板文件中该目录中文件的内容,例如:

<% Dir["/tmp/config.d/*.conf"].each do |f| -%>
<%= ::File.read(f) %>
<% end %>

这应将.conf中的所有config.d文件内容合并到一个文件中。