迁移到Berkshelf

时间:2016-01-15 16:15:19

标签: chef chef-solo berkshelf

我目前正在将我们组织的kitchen迁移到Berkshelf

SETUP

我们使用git submodules维护vendor cookbooks目录中的cookbooks。我们的custom cookbooks位于site-cookbooks

我摆脱了submodules目录中的所有cookbooks,并使用我们的自定义食谱创建了Berksfile。我已将ENV['BERKSHELF_PATH']中的Berksfile设置为cookbooks目录,以便在一个位置包含供应商食谱,并将烹饪书目录添加到.gitignore

当我执行Berks install时,供应商食谱在cookbook目录中安装为cookbook_name - version

问题

当我运行chef-solo来运行自定义食谱时,厨师运行失败,因为有template资源或cookbook_file资源的供应商食谱中的食谱失败,因为厨师无法找到模板或文件位于食谱的files目录或templates目录中,即使它们存在。

将供应商食谱从apt-2.7.0安装的berkshelf重命名为apt,而不是version number,并将供应商食谱添加到Berksfile,例如{{1}解决问题。

但老实说,我认为我的方向是错误的,情况应该不是这样。

1 个答案:

答案 0 :(得分:1)

您不想设置BERKSHELF_PATH,这是Berkshelf的内部跟踪目录,几乎不会被触及。在配置过程中,Kitchen将自动为您运行berks vendor