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
中找到
所以我基本上是在尝试通过任务加载配置文件,因此在任务的第一部分,它将使用域 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
中找到