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}")
在其中。