0

使用 Molecule 2.19.0 在 Ansible 角色上对其进行测试。Molecule 和 Ansible 都可以按需要工作。

我有一个关于分子如何执行 Ansible 角色的问题。

这是我的文件结构:

| my_role (Root of the role)
* defaults
* files
* molecule
   * default
       * tests
           - molecule.yml
           - playbook.yml
           - Dockerfile.j2
           - tests
* tasks
* templates

现在,在playbook.ymlof分子中,我设置了角色名称:

---
- name: Converge
  hosts: all
  roles:
    - role: my_role

运行molecule testormolecule converge时,它将运行角色(如预期的那样)。

但是分子是如何在幕后进行的呢?在这个特定用例中,它如何知道角色存在于根目录中。

4

1 回答 1

1

Molecule 通过为 ANSIBLE_ROLES_PATH 设置一些合理的默认值来做到这一点: 点击我获取源代码

还有“项目目录”的概念,它是运行分子的目录。这将是您的角色目录。

于 2019-03-25T12:21:24.967 回答