Ansible - 在任务中切换配置文件

Ansible - Switch config file in task

所以我基本上是在尝试通过任务加载配置文件,因此在任务的第一部分,它将使用域 1 的配置变量,例如 nginx vhost 文件,第二部分将使用域 2 的配置变量,它基本上具有相同的键但一组不同的值。

这里的想法是让任务加载第一个配置文件变量,然后 运行 虚拟主机任务,然后加载第二个配置文件变量和 运行 相同的虚拟主机任务但有新的价值。

如何做到这一点?

一个快速的选择是将这些任务分组到一个名为 setup_config(或其他更有意义的名称)的新角色中。 在你的剧本上你可以做

- name: some play
  hosts: somegroup

  roles:
    - { role: setup_config, domain: var_domain1 }
    - { role: setup_config, domain: var_domain2 }

它将执行 setup_config 角色中包含的完全相同的任务,但变量不同。

类似的例子可以在@Ansible docs : Playbook Roles and Include Statements

中找到