ansible☞playbook-tags

阅读量: zyh 2020-05-04 17:31:44
Categories: > Tags:

tags的定义

tags 可以让你在执行playbook的时候,有选择地执行某些任务,因此 tags 是 tasks 下的关键词

ansible-playbook test.play <--tags-args>

tags的参数

  • –tags=tag_name 执行具有 tag_name 任务
  • –skip-tags=tag_name 忽略具有 tag_name 任务
  • –list-tags 输出所有

tag_name 内置值 :

  • tagged 有tag的task,表示执行具有标记的任务
  • untagged 没有tag的task,表示执行不具有标记的任务
  • all 所有task,表示执行所有任务

tags的内置标记

  • always 总是执行某个 task
  • never 永远不执行某个 task

tags 的位置

位于play或者tasks都可以,本身具有继承属性,也就是tasks里的tags会继承play的tags

---
- hosts: localhost
  remote_user: zyh
  tags: father
  tasks:
    - name: test tag son
      tags: son,children
      shell: echo "son is here!" > ~/son.log
    - name: test tag daughter
      tags: daughter,children
      shell: echo "daughter is here!" > ~/daughter.log
ansible-playbook test.play --tags=son # 只会生成 son.log
ansible-playbook test.play --tags=father  # 因继承机制,会生成 son.log 和 daughter.log
ansible-playbook test.play --tags=children # 因都含有,同样会生成 son.log 和 daughter.log