2017-08-09 150 views
0

我想创建一个新的厨师食谱来配置多个应用程序一个服务器(多个XML文件创建),我们还需要通过环境,这将是伟大的,如果有人请建议。谢谢。如何使用厨师食谱迭代厨师角色属性

尝试下面的语法:

角色文件:

override_attributes({ 
    'applications' => [ 
    ["app1Name", “app1Server”, 755, “admin”, “admin”], 
    ["app2Name", “app2Server”, 755, “admin”, “admin”], 
    ["app3Name", “app3Server”, 755, “admin”, “admin”] 
    ] 
    }) 

Receipe文件:

node['applications'].each do |appdetails| 
    template"#{path_loc}/newrelic_#{appdetails[0]}.yml do 
     cookbook 'cookbook_name' 
     source 'new relic.yml' 
     action :create 
     ignore_failure true 
     end 
    end  

回答

0

那你是怎么做到这一点,虽然平时多一点的可读性。

+0

但是当Iam运行通过厨房收敛它会抛出一个错误说角色是在顶层定义但不存在,我试图执行与角色附加的配方的角色,并用runlist更新.kitchen.yml文件作为角色,请告知Iam做的事情是正确的吗?谢谢 – sam

+0

您很可能没有正确设置Test Kitchen内部的角色。由于Test Kitchen主要用于测试食谱,而不是角色,因此这是一件比较少见的事情。 – coderanger