ansible的tags

  执行ansible-playbook时可以使用--tags "tag1,tag2..." 或者 --skip-tags "tag1,tag2..."指定执行的tags或者指定不执行的tags ;
可以使用--list-tags查看playbook中有哪些tags会被执行

  • name: test tags
    hosts: localhost
    gather_facts: no
    tasks:
    • name: 1 no tags
      debug: msg="have not tags."
    • name: 2 common tags
      debug: msg="common tags."
      tags: common
    • name: 3 always tags
      debug: msg="always tags."
      tags: always
    • name: 4 never tags
      debug: msg="never tags."
      tags: [ 'never', 'debug' ]
playbook: tags.yml

  play #1 (localhost): test tags    TAGS: []
      TASK TAGS: [always, common]

到ansible 2.5以后目前的tags有以下几个:

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

猜你喜欢

转载自www.cnblogs.com/wangl-blog/p/9989949.html
今日推荐