Ansible - 在一个角色中使用相同的模板创建多个配置文件

Ansible - Create multiple config files using the same template in a role

我发现了一个类似的问题: 但我不知道如何将它与 group_vars 目录结构一起使用。

我的问题

如何使用其中包含模板的角色来创建具有不同名称和值的多个配置文件?我还使用 group_vars 目录,该目录与我 运行 的剧本存在于同一级别,主机为 运行s.

这是我当前的示例剧本

---
- hosts: emea-stg-web
  vars_files:
    - group_vars/ssh_user.yml
  remote_user: "{{ ssh_user }}"
  become_user: root

  roles:
    - nginx-install
    - php5.6-install

如何让角色中的每个“项目”使用不同的变量值。例如变量“name”在迭代时可以有 [“test 1”、“test 2”、“test 3”]?然后我可以将这些值存储在文件中吗?

---
- hosts: emea-stg-web
  vars_files:
    - group_vars/ssh_user.yml
  remote_user: "{{ ssh_user }}"
  become_user: root

  roles:
    - nginx-install
      with_items:
      - test1
      - test2
      - test3
    - php5.6-install

查看带有 vars_from 参数的 include_role module

tasks:
  - include_role:
      role: nginx-install
      vars_from: "{{ item }}"
    with_items:
      - vars_file1
      - vars_file2

并且不要使用 group_vars 目录来存储任意 vars 文件,它旨在为主机组存储 vars 文件。