是否可以在属性文件中获取当前环境?

时间:2013-10-28 15:09:16

标签: chef

我想做这样的事情:

属性/ default.rb

if node[:chef_environment] == 'dev'
   include_attribute "mbev::dev"
else
   include_attribute "mbdev::production"
end

但似乎'node'等于当前节点的名称。

2 个答案:

答案 0 :(得分:7)

试试node.chef_environment?它是一个返回值而不是属性的函数。

答案 1 :(得分:2)

在属性文件中,我认为您只想使用chef_environment,根据厨师邮件列表中的this帖子,并由我独立确认。

您的属性文件应如下所示:

if chef_environment == 'dev'
    include_attribute "mbev::dev"
else
    include_attribute "mbdev::production"
end

node.chef_environment将适用于食谱。