【问题标题】:How to reference knife solo site-cookbook files from a chef cookbook如何从厨师食谱中引用刀独奏站点食谱文件
【发布时间】:2015-01-04 13:24:33
【问题描述】:

我正在编写一个chef cookbook食谱,旨在将文件放置到节点服务器上。

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

我打算允许这本食谱的用户将源文件放在他/她的knife solo 存储库的“site-cookbooks” 目录中。

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

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

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

【问题讨论】:

    标签: chef-infra chef-solo knife-solo


    【解决方案1】:

    cookbookssite-cookbooks(以及cookbooks_path 的所有其他变体)只是从哪里加载食谱。 source 资源属性仅在食谱中查找内容,而不是直接在其中一个路径中查找。您的资源声明中没有明确的说明书,因此它将在说明书中查找代码所在的配方。因为它是 cookbook_file,它必须位于 files/ 子文件夹中食谱。

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

    【讨论】:

      猜你喜欢
      • 2015-11-27
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-23
      • 1970-01-01
      相关资源
      最近更新 更多