Chef:将环境变量设置为属性
Chef: set an environment variable to an attribute
看到了一些类似问题的回答,比如如何给环境变量设置一个属性,或者如何在整个系统中设置一个环境变量。但这不是我要找的。
我知道这些变量只能在说明书的上下文中使用,这很好。
我只想定义一个属性,比如:
default['mycookbook']['myvar'] = '3'
然后是我的食谱中的环境变量,例如:
ENV['MY_VAR'] = default['mycookbook']['myvar']
并有 $MY_VAR
可在食谱中使用。
有什么想法吗?
我找到了正确的语法。
对于题中给出的例子:
ENV['MY_VAR'] = default['mycookbook']['myvar']
就所提供的信息而言,通过更改节点的默认值应该可以像这样工作。
定义一个属性文件,如:
default['mycookbook']['myvar'] = '3'
然后是配方中的环境变量,应该是这样的:
# not "default['mycookbook']"['myvar']
ENV['MY_VAR'] = node['mycookbook']['myvar']
看到了一些类似问题的回答,比如如何给环境变量设置一个属性,或者如何在整个系统中设置一个环境变量。但这不是我要找的。
我知道这些变量只能在说明书的上下文中使用,这很好。
我只想定义一个属性,比如:
default['mycookbook']['myvar'] = '3'
然后是我的食谱中的环境变量,例如:
ENV['MY_VAR'] = default['mycookbook']['myvar']
并有 $MY_VAR
可在食谱中使用。
有什么想法吗?
我找到了正确的语法。
对于题中给出的例子:
ENV['MY_VAR'] = default['mycookbook']['myvar']
就所提供的信息而言,通过更改节点的默认值应该可以像这样工作。
定义一个属性文件,如:
default['mycookbook']['myvar'] = '3'
然后是配方中的环境变量,应该是这样的:
# not "default['mycookbook']"['myvar']
ENV['MY_VAR'] = node['mycookbook']['myvar']