Chef

為什麼廚師食譜無法從 bash 環境變數中讀取值?

  • September 14, 2015

這是我的 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 

我做錯了什麼?

您在主機上設置環境變數。– 但是 Chef 在您的 Virtualbox VM 中執行。

要為其設置環境變數,請使用Vagrant 文件binary_env中描述的選項,用於 Chef 配置

引用自:https://serverfault.com/questions/722109