我正在添加Solr Chef recipe和existing vagrant box。我想覆盖版本属性here。我是否在其中一个json文件中覆盖这些变量,或者必须在配方属性文件中覆盖它?
答案 0 :(得分:3)
对于您的用例,可以直接在Vagrantfile中覆盖它。查看更多关于chef solo and vagrant here的信息。
<强> tldr; 强>
只需在您的Vagrant文件中提供chef.json
选项,例如:
Vagrant.configure("2") do |config|
config.vm.provision "chef_solo" do |chef|
# ...
chef.json = {
"solr" => {
"version" => "4.6.1"
}
}
end
end
在一般实践中,在角色内部设置属性或在社区角色周围创建wrapper cookbooks是很常见的,因此无需更改原始源代码。