2013-10-29 57 views
0

如何获取它以测试是否存在模板文件。流浪汉 - 厨师 - 模板文件检查

我想加载web服务器default.conf.erb只有当没有其他适当的配置那里。

我曾经这么想过,但没有成功。

template "#{node[:nginx][:dir]}/sites-available/#{host_name}.loc.conf" do 
     variables attribs 

     if File.exists? ("/templates/default/#{host_name}.conf.erb") 
      source "#{host_name}.conf.erb" 
     else 
      source "default.conf.erb" 
     end 

     notifies :reload, "service[nginx]" 
end 

回答

0

这样的概念(在File Specificity的标签下)已经在厨师中实施。

只需将文件放入templates/host-#{host_name}/而不是templates/default/即可。