在 Ansible + Test Kitchen 中包含依赖项
Including dependencies in Ansible + Test Kitchen
我正在尝试让 Ansible + Test Kitchen 工作,我的代码可以在 Github.
当 运行 kitchen test
时出错:
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 }
有没有办法告诉 Test Kitchen 首先从 Ansible Galaxy 中引入依赖项?
您应该包括以下更改:
.kitchen.yml
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 here 创建一个 Ansiblefile
,将 gem 'librarian-ansible'
添加到 Gemfile
,并指定角色 test/integration/default/default.yml
。但是,我怀疑@Valeriy Solovyov 的回答更正确。
我正在尝试让 Ansible + Test Kitchen 工作,我的代码可以在 Github.
当 运行 kitchen test
时出错:
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 }
有没有办法告诉 Test Kitchen 首先从 Ansible Galaxy 中引入依赖项?
您应该包括以下更改: .kitchen.yml
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 here 创建一个 Ansiblefile
,将 gem 'librarian-ansible'
添加到 Gemfile
,并指定角色 test/integration/default/default.yml
。但是,我怀疑@Valeriy Solovyov 的回答更正确。