berkshelf在哪里寻找knife.rb

时间:2015-03-24 19:53:56

标签: chef berkshelf

我正在尝试使用berks upload向我的厨师服务器发送一些食谱(和依赖项),但berkshelf需要知道我的厨师服务器所在的位置......以及如何进入它

the documentation says

  

除非您明确说明,否则Berkshelf将使用默认配置运行   生成一个。默认情况下,Berkshelf使用您的中找到的值   刀具配置(如果有的话)。

究竟在哪里寻找我的knife.rb
目前,它位于~/chef-repo/.chef/knife.rb,不在我的路径或任何东西。应该是吗?或者我应该把它放在其他地方吗?

同样为了记录,我的食谱不存储在我的~/chef-repo目录中。他们在~/cookbooks ....也许他们“应该”在我的厨师回购中?

1 个答案:

答案 0 :(得分:3)

您应该将Berksfile保留在chef-repo中,然后从那里上传,默认情况下,Berkshelf会在knife.rb中找到.chef/knife.rb(相对于您的位置)。

事实上,您不需要在chef-repo中使用cookbook,您可以从文件系统(或Web)上的其他位置在Berksfile中引用它们。在厨师回购之外设置食谱会让你更难在另一台机器上设置厨师工作站,但它可以工作。

Berksfile是纯Ruby,因此您可以编写将在运行时评估的Ruby代码,因此您基本上可以包含任何内容。查看this article以获取一些示例。