厨师测试厨房和政策文件

时间:2016-11-02 08:21:02

标签: chef test-kitchen policyfiles

这是我目前的情况,我在内部git仓库中有一本食谱。在那本食谱中,我必须保留几个策略文件并测试它们,因为我在cookbook中创建了一个名为policyfiles的目录,如下所示:

MyCookbook
|--attributes
|--recipes
|--templates
|--spec
|--policyfiles
|   |- a.rb
|   |- b.rb
|--other files.

我的问题是我必须使用Kitchen测试那些a.rb和b.rb政策文件,所以我尝试使用 chef_zero 而没有运气阅读这些政策文件,然后尝试 policyfile_zero as Kitchen provisioner ...在这种情况下,它可以读取策略文件锁定文件(例如, a.lock.json ),但前提是它放在cookbook根目录中并重命名为< EM> Policyfile.lock.json

这非常笨重而且不实用,有人可以提供一些有关如何在本地使用Kitchen测试政策文件的见解吗?我无法相信这是唯一的方法。

1 个答案:

答案 0 :(得分:2)

所以回答我自己的问题,发现做了进一步的随机试验和错误,这似乎是我使用chef_zero并告诉它在哪里的策略文件的问题。

以前使用policyfile_zero配置器,厨师厨房中套件的结构可能如下:

suites:
  - name: MySuite
    provisioner:
      policyfile: policyfiles/a.rb

哪个不起作用。但是现在的语法是:

suites:
  - name: MySuite
    provisioner:
      policyfile_path: policyfiles/a.rb

这不仅可以工作,还可以自动 chef安装策略文件,在策略文件路径中创建一个全新的锁定文件并应用它而无需重命名到配置的计算机。