【发布时间】:2013-11-23 04:48:26
【问题描述】:
使用 AWS OpsWorks,您将如何设置环境(暂存、生产等),这些环境将应用于 node.chef_environment 属性,然后会生成食谱能读懂这个属性吗? (我想这可以使用自定义 JSON 来完成,对吧?)
我遇到了这个link,但仍然不知道该怎么做。
使用 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 属性的食谱之前。
【问题讨论】:
-
您好,问题是我使用的是 OpsWorks,不知道如何设置环境。你有什么建议吗?谢谢。
-
你以为你在使用 vagrant 吗?听起来像是一个不同的问题。
-
我对这个不清楚的问题不好。我更新了。
标签: chef-infra vagrant environment aws-opsworks