如何让Ansible playbook在组中的第一个主机上运行?

问题描述 投票:7回答:1

如何仅在组中的第一个主机上运行playbook?

我期待这样的事情:

---
- name: playbook that only run on first host in the group
  hosts: "{{ groups[group_name] | first }}"

  tasks:
   - debug:
       msg: "on {{ inventory_hostname }}"

但这不起作用,给出错误:

'groups'未定义

我怎样才能使它工作?

ansible ansible-inventory
1个回答
13
投票

您可以使用:

hosts: group_name[0]

库存主机值(在hosts指令中指定)使用自定义解析器处理,该解析器不允许像常规模板引擎那样使用Jinja2表达式。

了解Patterns

© www.soinside.com 2019 - 2024. All rights reserved.