35

Chef レシピを使用して環境変数を設定するにはどうすればよいですか?

Chef レシピを使用して環境変数を設定する必要があります。これを達成する方法の例を挙げていただけますか?

4

5 に答える 5

14

Chef を使用してシステムに設定する場合は、 magic_shell cookbookを確認してください。

magic_shell_environment 'RAILS_ENV' do
  value 'production'
end
于 2013-02-17T04:00:24.260 に答える
2

これを行う方法は、Windows と Linux で異なります。最も簡単な方法は次のとおりです。

ウィンドウズ

windows_env リソースを使用して、システム環境変数を作成します。

windows_env 'CHEF_LICENSE' do
  value 'accept'
end

Linux

クックブックの実行とその子にのみ必要な場合は、Ruby ENV リソースを使用します。これは永続的ではありません:

ENV['CHEF_LICENSE'] = 'accept'

永続的にする必要がある場合 (および bash を使用する場合):

/etc/profile.d にスクリプトを作成します。

  1. テンプレート スクリプトを作成する (chef.sh.erb など)
  2. テンプレート スクリプトに入力します。

    #!/bin/bash export CHEF_LICENSE='accept' # Needed for Chef Infra Client 15

  3. テンプレート リソースをレシピに入れます (属性と所有者/グループの設定を設定したい場合があります。この例は単純にしたかったのです)。

    template '/etc/profile.d/chef.sh' do source 'chef.sh.erb' end

ここで参照されているさまざまなリソースを読むための追加のリソースを次に示します。

テンプレート リソース
windows_env リソース

于 2019-05-14T18:33:33.237 に答える