📜  ansible playbook 省略标签 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:29:24.569000             🧑  作者: Mango

Ansible Playbook 省略标签 - Shell-Bash

在 Ansible Playbook 中,可以使用标签来指定运行特定的任务或剧本。 有时,您可能希望执行除了标签外的所有任务/剧本,而不是一个一个地将所有标签都列出来。 Ansible 允许您向 Playbook 中添加一些通用标签,以便在运行 Playbook 时可以不指定任何标签。

添加通用标签

要向 Ansible Playbook 中添加通用标签,您可以按以下方式使用 meta 模块:

- name: Playbook Name
  hosts: all
  gather_facts: true

  # 给这个 Playbook 下的所有 tasks/roles 设置通用标签
  vars:
    common_tags:
      - always
      - linux

  # 运行 tasks/roles 并执行这些通用标签
  tasks:
    - name: Task Name
      shell: echo "Hello World"
      tags:
        - "{{ common_tags }}"
运行 Playbook 时省略标签

如果您想要省略特定标签并运行 Playbook 中的所有任务/剧本,您可以使用 --skip-tags 参数。 以下命令将运行 Playbook 中未被标记为 "test" 的所有任务/剧本:

ansible-playbook playbook.yml --skip-tags test
结论

使用通用标签和 --skip-tags 参数可以使 Playbook 运行变得更加灵活和简单。 如果您有多个任务/剧本需要在一起运行,但是不想一一列出所有标签,这将特别有用。