为什么 Chef 食谱无法从 Bash 环境变量中读取值?

为什么 Chef 食谱无法从 Bash 环境变量中读取值?

这是我的shell脚本的内容:

export TARGET_ROLE=play
vagrant up

我正在使用脚本导出环境变量,以便在我的厨师食谱中设置一些变量

role = ENV['TARGET_ROLE']
Chef::Log.info("Using role #{role}")
node.override[:mainapp][:target_role] = role

seq = ENV['SEQ']
Chef::Log.info("Using seq #{seq}")
node.override[:mainapp][:server_seq] = seq 

以下是我在日志中看到的内容:

==> default: [2015-09-14T07:22:35+00:00] DEBUG: Found recipe mainapp_common_env in cookbook mainapp
==> default: [2015-09-14T07:22:35+00:00] INFO: Using role 
==> default: [2015-09-14T07:22:35+00:00] INFO: Using seq 

我做错了什么?

答案1

您在主机上设置了一个环境变量。——但是 Chef 在您的 Virtualbox VM 内运行。

要为其设置环境变量,请binary_env使用Chef 配置的 Vagrant 文档

相关内容