📜  ansible-playbook 限制标签 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:19.560000             🧑  作者: Mango

Ansible Playbook 限制标签 - Shell-Bash

在使用 Ansible 进行自动化部署时,我们可能需要只执行部分任务或者只在特定的主机上执行任务。这时,我们就可以使用 Ansible Playbook 的标记(tags)功能。

下面介绍如何使用 Ansible Playbook 的标记来限制只执行 Shell 或 Bash 的任务。

1. 在 Playbook 中标记任务

在 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

2. 执行标记的任务

要执行带有标记的任务,可以使用 --tags 参数来指定标记,例如:

ansible-playbook playbook.yml --tags shell

上述命令会执行所有带有标记 - shell 的任务。

3. 排除标记的任务

有时我们需要排除带有某个标记的任务,可以使用 --skip-tags 参数,例如:

ansible-playbook playbook.yml --skip-tags shell

上述命令会执行除了带有标记 - shell 的任务外的所有任务。

总结

使用 Ansible Playbook 的标记功能可以方便地控制任务的执行范围,尤其对于较大的部署项目非常有用。在编写 Playbook 时,我们建议根据实际需求为任务添加合适的标记,以便后续使用。