我对Ansible的标签进行了实验(依赖等)

这是个人备忘录。

环境信息

版本

localhost$ ansible-playbook --version
ansible-playbook 2.0.1.0
  config file = /Users/xxx/Desktop/rapid/localhost/ansible.cfg
  configured module search path = Default w/o overrides

形成

-test.yml
-roles
 - aaa
  - tasks
   - main.yml
   - aaa_sub.yml

 - bbb
  - meta
   - main.yml

测试.yml

- hosts: localhost
  gather_facts: False
  roles:
     - { role: bbb, tag: bbb }

角色/aaa/tasks/main.yml的主要内容

- debug: msg="aaa1"
  tags: aaa1

- debug: msg="aaa2"
  tags: aaa2

- set_fact:
     test: true
  tags: aaa3

- include: aaa_sub.yml
  when: test == True
  tags: aaa3

角色/aaa/任务/aaa_sub.yml

– 调试: msg=”aaa_sub”

角色/bbb/元/主要.yml

dependencies:
  - { role: aaa, tags: aaa }

我尝试了一下实验。

(1) 运行 ansible-playbook test.yml –tags=bbb 不会有任何输出。

(2) 当运行 ansible-playbook test.yml –tags=aaa 时,将执行 aaa 角色(将显示 aaa1、aaa2 和 aaa_sub)。

(3) ansible-playbook test.yml –tags=aaa,bbb
→ 执行 aaa 角色,与(2)相同。

(4) 使用ansible-playbook test.yml –tags=aaa1
→ 执行aaa角色并显示aaa1

使用ansible-playbook命令执行test.yml文件,标签为aaa2,
执行aaa角色并显示aaa2。

执行 ansible-playbook test.yml → 执行角色aaa的操作与(2)相同。

(7) ansible-playbook test.yml –tags=aaa3
→ 执行 aaa 角色并显示 aaa_sub