【发布时间】:2020-02-25 15:52:18
【问题描述】:
在 Ansible 中,我想根据主机触发选定的任务。
我的库存:
[appserver]
ip1
ip2
[webserver]
ip3
ip4
而我的 main.yml 文件会是这样的
- name : Playbook
hosts: all
user: username
become: yes
gather_facts: True
tasks:
- name: Task 1
replace:
path: "somepath"
regexp: "{{ oldvalue }}"
replace: "{{ newvalue }}"
backup: yes
- name: Task 2
replace:
path: "somepath"
regexp: "{{ oldvalue }}"
replace: "{{ newvalue }}"
backup: yes
如何在 appserver 组上运行这个特定的 task1,在 webserver 组上运行 task2。有没有最好的方法可以在不使用 ansible 标签的情况下实现这一点?
【问题讨论】:
-
在您的剧本中添加第二个剧本。将第二个任务移动到第二个播放,目标播放1到
hosts: appserver和播放2到hosts: webserver。
标签: ansible ansible-inventory ansible-role