2016-08-12 8 views
0

環境変数に属性を設定する方法や、システム全体で環境変数を設定する方法など、同様の質問に対する回答がありました。しかし、それは私がここで探しているものではありません。Chef:環境変数を属性に設定する

私は変数が料理本の文脈内でのみ利用可能であることを理解しています。

私が欲しいのは、次のような属性を定義することです:のように、その後、

default['mycookbook']['myvar'] = '3' 

と私のレシピでは、環境変数:

ENV['MY_VAR'] = default['mycookbook']['myvar'] 

および内で使用することが可能な$MY_VARを持っていますレシピ。

どのような考えですか?

+0

:レシピ内の環境変数その後、

default['mycookbook']['myvar'] = '3' 

そして、のようにする必要があります後にシェフがRubyで走っている間に。 – StephenKing

+0

あなたが持っているコードは書かれたとおりに動作するはずです。それはありませんか? – coderanger

答えて

3

限り質問に与えられた情報に関しては、それはノードと、デフォルトを変更することで、そのように動作するはずですが。

など、属性ファイルを定義します。あなたがそれを必要とする場合は、 `node.run_state`を使用することができます

# not "default['mycookbook']"['myvar'] 
ENV['MY_VAR'] = node['mycookbook']['myvar'] 
0

正しい構文が見つかりました。質問に与え例えば

ENV['MY_VAR'] = default['mycookbook']['myvar'] 
+1

'default []'にアクセスしません。代わりに 'node []'を使います( 'node ['mycookbook'] ['myvar']')。 – StephenKing

関連する問題