Chef infra 如何从厨师烹饪书中引用刀独奏网站烹饪书文件

Chef infra 如何从厨师烹饪书中引用刀独奏网站烹饪书文件,chef-infra,chef-solo,knife-solo,Chef Infra,Chef Solo,Knife Solo,我正在写一本厨师烹饪书,目的是把一个文件放到一个节点服务器上 cookbook_file "/path/to/node/dir/file_name" do source "file_name" owner "ec2-user" group "ec2-user" end 我打算允许此cookbooks的用户将源文件放在他/她存储库的“站点cookbooks”目录中 问题是此配置在部署时抛出Chef::Exceptions::FileNotFound:Cookboo

我正在写一本厨师烹饪书,目的是把一个文件放到一个节点服务器上

  cookbook_file "/path/to/node/dir/file_name" do
    source "file_name"
    owner "ec2-user"
    group "ec2-user"
  end
我打算允许此cookbooks的用户将源文件放在他/她存储库的“站点cookbooks”目录中

问题是此配置在部署时抛出
Chef::Exceptions::FileNotFound:Cookbook“my Cookbook”(0.1.0)的任何位置都不包含文件:…

我尝试在knife solo存储库的
.chef/knife.rb
文件中指定不同的
cookbook\u路径
选项,但没有成功


实现这一目标的正确方法是什么?或者chef不是这样工作的,如果是,首选的替代方法是什么?这是否意味着我应该将cookbook和knife solo存储库合并为一个单独的knife solo存储库?

cookbooks
站点cookbooks
(以及
cookbooks\u path
的所有其他变体)正好可以从何处加载cookbooks。
source
resource属性仅查找烹饪书中的内容,而不是直接在这些路径中查找。您的资源声明中没有明确的食谱,因此将在食谱中查找代码所在的配方。因为它是一个
cookbook\u文件
,所以它必须位于cookbook内的
files/
子文件夹中

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