Dan*_*iil 14 chef-infra vagrant berkshelf
我正在使用流浪汉+厨师.我的厨师食谱非常完美.然后我安装了vagrant-berkshelf插件,从那一刻起我无法使用自己的烹饪书.Berkshelf覆盖了cookbook目录,当我使用它时,厨师看不到我的食谱.我的配置是这样的:
config.berkshelf.enabled = true
config.vm.provision :chef_solo do |chef|
chef.add_recipe "qbaka-frontend"
end
Run Code Online (Sandbox Code Playgroud)
使用此配置,Chef只能使用指定的cookbook,Berksfile但无法在cookbooks目录中查看我的cookbook .
我如何与我的&Berkshelf的烹饪书同时工作?
set*_*rgo 44
在vagrant-berkshelf一般的插件和Berkshelf非常菜谱为中心.然而,厨师以食谱 - 回购为中心.安装vagrant-berkshelf插件鼓励您使用以烹饪书为中心的方法,将每个烹饪书视为自己的软件项目.
您需要将cookbooks目录中的每个cookbook添加到Berksfile中.这里有几种方法:
如果您只需要一个或两个cookbook,只需使用Berkshelf路径位置添加它们:
cookbook 'bacon', path: '~/cookbooks/bacon'
Run Code Online (Sandbox Code Playgroud)如果你想要所有的食谱,你可以在这里使用Ruby.一个鲜为人知的秘密是,它Berksfile是作为Ruby执行的,所以你可以循环并变得神奇:
Dir['/Users/sethvargo/cookbooks/**'].each do |path|
cookbook File.basename(path), path: path
end
Run Code Online (Sandbox Code Playgroud)
这会将该目录中的每个食谱加载到您的Berksfile(以及Berkshelf)中
资料来源: