我正在使用厨房和 ansible 来测试服务器配置。我能找到的每个示例.kitchen.yml
在与 ansible 角色相同的文件夹中都有一个文件。我想执行多个测试,但似乎没有内置的方法来执行此操作 -kitchen test
期望.kitchen.yml
在它运行的文件夹中有一个文件(以及 serverspec ruby 规范文件和包装的 default.yml 文件实际角色)例如
roles
- role_1
- tasks
mail.yml
- test/integration/default/serverspec/localhost
role_spec.rb
default.yml
.kitchen.yml
我宁愿将用于测试的文件与用于配置服务器的文件分开,为此我为每个角色创建了一个套件,并在套件配置中指定了供应商剧本:
suites:
- name: role_1
provisioner:
playbook: test/integration/role_1/default.yml
- name: role_2
provisioner:
playbook: test/integration/role_2/default.yml
然后,我的*_spec.rb
文件必须位于名为test/integration/role_1/serverspec
这也允许我通过一个单一的运行多个角色测试,kitchen test
但我不确定这是否是要走的路。如果我有一个包含多个角色的剧本,我看不到如何重用 *_spec.rb 文件。
这是怎么做的?