包括Ansible+中的依赖项;测试厨房

包括Ansible+中的依赖项;测试厨房,ansible,test-kitchen,Ansible,Test Kitchen,我正在尝试让Ansible+测试厨房工作,我的代码在 运行厨房测试时会出现以下错误: ERROR! the role 'geerlingguy.java' was not found in /tmp/kitchen/roles:/tmp/kitchen:/tmp/kitchen/roles:/tmp/kitchen/roles The error appears to have been in '/tmp/kitchen/roles/ansible-nexus/meta/main.

我正在尝试让Ansible+测试厨房工作,我的代码在

运行
厨房测试时
会出现以下错误:

   ERROR! the role 'geerlingguy.java' was not found in /tmp/kitchen/roles:/tmp/kitchen:/tmp/kitchen/roles:/tmp/kitchen/roles

   The error appears to have been in '/tmp/kitchen/roles/ansible-nexus/meta/main.yml': line 3, column 5, but may
   be elsewhere in the file depending on the exact syntax problem.

   The offending line appears to be:

   dependencies:
     - { role: geerlingguy.java }

有没有办法告诉测试厨房首先从Ansible Galaxy中提取依赖项?

您应该包括以下更改: .厨房

provisioner:
  hosts: test-kitchen
  name: ansible_playbook
  #require_chef_for_busser: false
  #require_ruby_for_busser: true
  ansible_verbosity: 2
  ansible_verbose: true
  require_ansible_repo: false
  require_ansible_omnibus: true
  requirements_path: requirements-test.txt
  #
  # When testing with Test Kitchen, run the Docker client with
  # "--insecure-registry registry.yourdomain.local" so that we can test pushing
  # to our test private registry.
  #
  #extra_vars:
  #  docker_opts: "--insecure-registry registry.yourdomain.local"
需求-test.txt

geerlingguy.java

我还找到了另一种方法:基于doco创建一个
Ansiblefile
,将
gem'librainer ansible'
添加到
Gemfile
,并在
test/integration/default/default.yml
中指定角色。然而,我怀疑@Valeriy Solovyov的答案更为正确