【问题标题】:How to specify cookbook_path in .kitchen.yml with chef_zero provisioner without Berkshelf如何在没有 Berkshelf 的情况下使用 chef_zero 配置器在 .kitchen.yml 中指定 cookbook_path
【发布时间】:2016-08-31 04:48:10
【问题描述】:

我的项目结构是我们公司的说明书与第三方说明书分开的目录中。

cookbooks
|
|- CompanyCookbooks
|   |
|   |-MyCookbook
|
|- 3rdPartyCookbooks
|   |
|   |-ark

在“MyCookbook”目录中工作时,我试图在我的食谱上运行厨房融合。 MyCookbook 中的默认食谱取决于 ark,它位于 3rdPartyCookbooks 目录下的一组单独的食谱中。但我收到以下错误。

Missing Cookbooks:
------------------
No such cookbook: ark

我尝试将“3rdPartyCookbooks”的路径添加到我的knife.rb,但没有成功。

cookbook_path ['../../CompanyCookbooks', '../../3rdPartyCookbooks']

我尝试将各种不同的 cookbook_path 排列添加到我的 .kitchen.yml 文件的配置部分,但这也不起作用。

provisioner:
  name: chef_zero
  data_bags_path: ../../../databags
  roles_path: ../../../roles
  solo_rb:
    cookbook_path:
      - ../../3rdPartyCookbooks
      - ../../CompanyCookbooks

provisioner:
  name: chef_zero
  data_bags_path: ../../../databags
  roles_path: ../../../roles
  cookbooks_path: '../../CompanyCookbooks, ../../3rdPartyCookbooks'

How to specify cookbook path in .kitchen.yml file for chef_solo provisioner?相关。

【问题讨论】:

  • 可能值得reading the doc
  • this one 可能对provisionner 部分有更好的帮助。 (不要认为 solo.rb 条目适用于零厨师供应商)
  • 呸。我有与@TreverW 完全相同的问题和设置,并且我像他一样做了很多 permutations。 RTFM 不工作。魔术设置必须隐藏。我希望有人可以更具体地帮助其他来到这里的人。

标签: chef-infra cookbook test-kitchen chef-zero


【解决方案1】:

正如在您需要使用 Berkshelf 之前正确说明的那样。像这样添加 Berksfile 解决了依赖关系:

source "https://supermarket.chef.io"
metadata
cookbook "aws", path: "../aws"

【讨论】:

    【解决方案2】:

    KitchenCI 可以通过 Berkshelf 或 Librarian Chef 等依赖项管理器获取远程机器中的食谱依赖项。当不使用依赖管理器时,它会查找相对于厨房执行的 ./cookbooks/ 和 ./site-cookbooks/ 并将其同步到远程机器(据我所知,这是不可配置的)。

    cookbook_path 是knife.rb 而非KitchenCI 的属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多