执行ansible-playbook时可使用--tags "tag1,tag2..." 或者 --skip-tags "tag1,tag2..."指定执行的tags或者指定不执行的tags ;
可使用--list-tags查看playbook中有哪些tags会被执行debug
playbook: tags.yml play #1 (localhost): test tags TAGS: [] TASK TAGS: [always, common]
到ansible 2.5之后目前的tags有如下几个:ip
always : 除非skip-tags指定这个标签,不然该标记为always的task一直会执行; --tags always 只执行标记了always的tasks
never : 除非tags 指定了这个tag,不然都不会执行 ;--tags never 执行标记always和never的tasks
tagged : --tags tagged 执行全部有tags标签的tasks,但不包括tags标签是never的tasks
untagged : --tags untagged 执行全部没有tags标签的task和tags标签为always的task;
--tags all :执行全部的tags标签为非never的task,包括有tags标签和无tags标签的tasks
--tags 自定义的tag 执行tags为指定的标签名的tasks和tags为always的tasks
若是执行命令ansible-playbook site.yml 时不指定tags,则会执行全部tags为非never的tasks
--skip-tags 自定义tag 执行全部非指定tag和非never的tasksit