2013-07-29 15 views
1

我们希望开始采用Berkshelf(和Berskshelf方式)来支持使用更好的开发模式。 我们已经使用“Application Coobook”和“Wrapper Cookbook”模式,但大量使用Databags而不是Attributes。 如果我们想要使用属性,我们如何使用Berkshelf在环境级别配置应用程序? 环境没有包装到食谱中,它们处于厨师 - 回购层次,并且受到与角色和数据包一样的限制,或者没有?如何以Berkshelf方式管理环境属性?

我是否必须在我的属性目录中为食谱创建多个属性文件(每个环境为1个:QA,PROD)?

或者我是否必须在同一个属性文件中创建多个部分(每个环境1个:QA,PROD)?

或者我必须在“Enviroments”chef-repo目录下创建多个环境文件(每个环境为1个:QA.json,PROD.json),其中我定义了将被覆盖的所有属性?

但是在最后一种情况下,如果我有100个应用程序(即100个应用程序食谱,这是我们的用例),我是否最终不会拥有2个巨大的,不可维护的env文件?

+0

博世,做任何答案适合你?请不要忘记标记答案是正确的! :) – sethvargo

回答

0

随着Berkshelf,你还有一个厨师回购。你只是没有食谱里面。你仍应该用刀(现在)来管理你的环境。

您还应该考虑您在环境中存储的数据。如果该数据应该进行版本控制,则不应该在任何环境中。