【问题标题】:Writing specs using kitchen for chef scripts - writing the kitchen.yml file使用厨房为厨师脚本编写规范 - 编写 kitchen.yml 文件
【发布时间】:2014-09-29 02:28:25
【问题描述】:

我的食谱很少,我想用厨房来测试它们。

我是厨房新手,我正在阅读他们的文档,这非常好。

---
driver:
  name: ssh

provisioner:
  name: chef_solo

platforms:
  - name: ubuntu-14.04
    driver:
      hostname: 123.456.789.10
      username: root
      password: blahblah

suites:
  - name: default
    run_list:
      - recipe[redis::default]     
    attributes:

我有很多食谱,

Lvl1 Main Folder
Lvl2|--> kitchen init
    |-->cookbook 
Lvl3   |--> A
          |--> recipes 
       |--> B
          |--> recipes

所以基本上我的主食谱文件夹中有太多食谱。 是否可以通过在run_list 下以某种方式提及它来在 1 级本身上运行厨房测试? 希望我清楚。

我基本上想在更高的层次上测试它,因为食谱都是相互依赖的。

【问题讨论】:

  • 我希望你能得到我的问题。 :-)
  • 嘿,关于这个,我有一个问题要问你。我有一个非常相似的 .kitchen.yml 文件,它使用 SSH 作为驱动程序。所以我的问题是,当您尝试收敛时是否遇到错误,例如“消息:无法从加载路径加载 'ssh' 驱动程序。”
  • 您需要安装提供的 'ssh' 驱动程序。我希望你gem install kitchen-ssh。它现在应该可以工作了。让我知道:)
  • 嘿!非常感谢您的回答!不幸的是,我这样做了,但没有奏效……所以我采用了另一个解决方案……删除项目并从头开始克隆 repo,再次运行 bundle install,berks install 等等……幸运的是这次成功了,所以我假设这与环境问题而不是厨房问题更相关。

标签: chef-infra test-kitchen


【解决方案1】:

是的,只需创建一个看起来像这样的Berksfile

cookbook 'A', path: 'A'
cookbook 'B', path: 'B'

在您的.kitchen.yml 旁边的基本文件夹中。然后你可以制作一个像这样的套件:

- name: A
  run_list:
  - recipe[A]

或:

- name: both
  run_list:
  - recipe[A]
  - recipe[B]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多