[英]What is the best way to assign environment variable inside chef recipe?
我想在厨师食谱中分配系统变量
我正在使用以下代码:
env 'DEF_ADDR' do
value "http://#{node['ipaddress']}"
end
但是,在执行配方时出现以下错误
错误:在redhat 6.6版上找不到env的资源
在Unix上没有一致的方法来设置全局环境变量。 一些发行版支持全局级别的shell包括通过/etc/profile.d
之类的东西,但这不会影响在shell外部运行的东西(例如直接SSH执行或作为服务运行)。
env
资源似乎仅适用于Windows环境:
使用env资源在Microsoft Windows中管理环境密钥。
如果只想为Chef Run定义环境变量,则可以使用Ruby:
ENV['DEF_ADDR'] = "http://#{node['ipaddress']}"
但这只能在“厨师运行”期间访问。
如果您想定义系统范围的环境变量,那么etc_environment
Cookbook可能会帮助您:
node.default['etc_environment']['DEF_ADDR'] = "http://#{node['ipaddress']}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.