1

这是我目前的情况,我在内部 git repo 中有一本食谱。在那本食谱中,我必须保留几个策略文件并对其进行测试,为此我在食谱中创建了一个名为 policyfiles 的目录,如下所示:

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

我的问题是我必须用 Kitchen 测试那些 a.rb 和 b.rb 策略文件,所以我尝试使用chef_zero读取这些策略文件没有任何运气,然后尝试将 policyfile_zero作为 Kitchen 配置器......在这种情况下,它可以读取策略文件锁文件(例如a.lock.json),但前提是它放置在说明书根目录中并重命名为Policyfile.lock.json

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

4

1 回答 1

1

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

以前使用 policyfile_zero 供应商,厨师厨房的套房结构可能如下:

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

这是行不通的。但是现在的语法是:

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

这不仅会起作用,而且会自动安装策略文件,在策略文件路径中创建一个新的锁定文件,并在不重命名配置的机器的情况下应用它。

于 2016-11-02T08:57:17.180 回答