Chef 11.6 は、ここに記載されているように、chef-solo の環境サポートを追加しますhttp://docs.opscode.com/essentials_environments.html#set-using-chef-solo
ただし、JSON 属性ファイルから環境を設定する方法が見つかりません。json ファイルで設定environment
とキーを試しましたが、どちらも機能していないようです。chef_environment
solo.rb ファイル経由で環境を設定できますが、json 属性ファイル経由でも可能かどうか疑問に思っていましたか?
私はこのように呼び出しています:
chef-solo -l debug -c solo.rb -j node.json
solo.rb には以下が含まれます。
root = File.absolute_path(File.dirname(__FILE__))
cookbook_path root + '/cookbooks'
data_bag_path root + '/data_bags'
role_path root + '/roles'
environment_path root + '/environments'
verbose_logging :false
node.json には以下が含まれます。
{
"run_list": [ "recipe[env_log]" ],
"environment": "test1",
"chef_environment": "test2"
}
そして env_log レシピにはちょうどChef::Log.info("Environment #{node.chef_environment}")
それがあります。