📅  最后修改于: 2023-12-03 14:59:19.560000             🧑  作者: Mango
在使用 Ansible 进行自动化部署时,我们可能需要只执行部分任务或者只在特定的主机上执行任务。这时,我们就可以使用 Ansible Playbook 的标记(tags)功能。
下面介绍如何使用 Ansible Playbook 的标记来限制只执行 Shell 或 Bash 的任务。
在 Playbook 中的 Shell 或 Bash 任务前添加标记(tags),例如:
- name: Run shell command on remote nodes
hosts: all
become: true
tasks:
- name: Perform shell command
shell: echo "Hello, world!"
tags:
- shell
这里我们为 shell 命令添加了标记 - shell
。
要执行带有标记的任务,可以使用 --tags
参数来指定标记,例如:
ansible-playbook playbook.yml --tags shell
上述命令会执行所有带有标记 - shell
的任务。
有时我们需要排除带有某个标记的任务,可以使用 --skip-tags
参数,例如:
ansible-playbook playbook.yml --skip-tags shell
上述命令会执行除了带有标记 - shell
的任务外的所有任务。
使用 Ansible Playbook 的标记功能可以方便地控制任务的执行范围,尤其对于较大的部署项目非常有用。在编写 Playbook 时,我们建议根据实际需求为任务添加合适的标记,以便后续使用。