如何从厨师食谱中参考刀具独奏网站菜谱文件

时间:2015-01-04 04:48:24

标签: chef chef-solo knife-solo

我正在撰写主厨食谱食谱,旨在将文件放到节点服务器上。

  cookbook_file "/path/to/node/dir/file_name" do
    source "file_name"
    owner "ec2-user"
    group "ec2-user"
  end

我打算允许这本食谱的用户将源文件放在他/她的刀独奏存储库" site-cookbooks" 目录中。

问题是此配置会在Chef::Exceptions::FileNotFound: Cookbook 'my-cookbook' (0.1.0) does not contain a file at any of these locations: ...部署时抛出knife solo cook

我尝试在刀片独奏存储库cookbook_path文件中指定不同的.chef/knife.rb选项,但未成功。

实现这一目标的正确方法是什么?或者厨师不是这样工作的,如果是这样,那么首选的替代方法是什么?这是一个标志,我应该将食谱和刀独奏库整合到一个单独的刀库中吗?

1 个答案:

答案 0 :(得分:2)

cookbookssite-cookbooks(以及cookbooks_path的所有其他变体)只是关于从哪里加载cookbook。 source资源属性仅查找cookbook中的内容,而不是直接查找其中一个路径。你的资源声明中没有明确的食谱,所以它会在食谱中查找代码所在的食谱。因为它是cookbook_file,它必须在{{{ 1}}食谱中的子文件夹。

没有办法告诉Chef或knife-solo发送和使用随机的松散文件,就像我认为你建议的那样,它都是基于cookbook和其他Chef数据类型。您可以使用files/资源并允许配方从用户指定的HTTPS服务器中提取。