2016-01-15 86 views
0

我目前在迁移的过程中我们组织的kitchenBerkshelf迁移到Berkshelf

SETUP

我们使用git submodules保持在cookbooks目录的vendor cookbooks。我们的custom cookbookssite-cookbooks

我摆脱了所有的submodulescookbooks 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'解决该问题。

不过老实说,我认为,我在错误的方向正在抽穗这不应该是这样的。

回答

1

你不想设置BERKSHELF_PATH,那就是为Berkshelf内部跟踪目录,应该几乎从未被触及。作为供应过程的一部分,厨房将为您自动处理运行berks vendor

+0

感谢您的帮助。是。它确实有效。我正在设置berkshelf的食谱安装路径,并使用它来运行内部的食谱。我解开了berkshelf的路径,“berks vendor”做到了! – puneeth