使用AWS OpsWorks,您将如何设置将应用于node.chef_environment
属性的环境(暂存、生产等),然后食谱将能够读取此属性?(我想这可以使用自定义 JSON 来完成,对吧?)
我遇到了这个链接,但仍然不知道该怎么做。
使用Vagrant,我可以像这样在 Vagrantfile 中设置它:
config.vm.provision :chef_solo do |chef|
...
chef.environment = "local"
...
end
谢谢你。
更新:
我最终通过编写my_environment_cookbook
仅在默认配方中包含此代码的方法解决了这个问题:
if node[:chef_environment] != nil
node.chef_environment = node[:chef_environment]
end
在 OpsWorks 堆栈的自定义 JSON 中,我有这样的东西:
{
"chef_environment": "staging"
}
然后我包含my_environment_cookbook
在运行列表中,在我想要获取node.chef_environment
属性的食谱之前。