Tags
根据官方文档介绍:
ansible允许通过自定义的关键字来给playbook中的资源打上标签,然后只运行标签标记的那个task任务。
例如,可能有个完成的OS配置,然后特定的步骤标记为“ntp”,然后我们可以运行标记的“ntp”步骤来重新配置时间服务器信息。
简单来说就是,给playbook或者task打上标签,就可以选择执行一个大的playbook中的一小部分(标记部分)。
Tag tasks
下面这种语法适用于为某个play或者task打标签:
tasks:
- yum: name= state=installed
with_items:
- httpd
- memcached
tags:
- packages - template: src=templates/src.j2 dest=/etc/foo.conf
tags:
- configuration
而后,可以选择执行或者跳过该playbook的一部分:
$ ansible-playbook example.yml --tags "packages"
$ ansbile-playbook example.yml --skip-tags "configuration"
Tag roles
为role里的每一个task设定tags
--- - hosts: webservers
roles:
- { role: foo, tags: ["bar", "baz"] }
Tag included files
为included files里的每一个task设定tags:
- include: foo.yml tags=web,foo
摘抄于:http://kidlj.com/wiki/ansible.html