我目前在迁移的过程中我们组织的kitchen
到Berkshelf
。迁移到Berkshelf
SETUP
我们使用git submodules
保持在cookbooks
目录的vendor cookbooks
。我们的custom cookbooks
在site-cookbooks
。
我摆脱了所有的submodules
cookbooks
dir,并创建了一个Berksfile
与我们的自定义食谱。我在Berksfile
设置ENV['BERKSHELF_PATH']
到cookbooks
目录,以包含供应商的食谱在一个地方,添加食谱DIR到.gitignore
。
当我执行Berks install
供应商食谱安装在食谱目录中作为cookbook_name
-version
。
问题
当我运行chef-solo
运行定制的食谱,厨师运行失败在这要么template
资源或cookbook_file
资源失败,因为厨师是无法找到模板或文件的供应商食谱食谱files
目录或templates
目录,即使它们存在的菜谱。
重命名供应商食谱从发言权apt-2.7.0
作为安装由berkshelf
只是apt
而不version number
和添加卖主食谱到Berksfile如例如cookbook 'apt', path: './cookbooks/apt'
解决该问题。
不过老实说,我认为,我在错误的方向正在抽穗这不应该是这样的。
感谢您的帮助。是。它确实有效。我正在设置berkshelf的食谱安装路径,并使用它来运行内部的食谱。我解开了berkshelf的路径,“berks vendor”做到了! – puneeth