我对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