码迷,mamicode.com
首页 > 其他好文 > 详细

ansbile tags

时间:2018-02-07 19:48:16      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:就是   编写   意义   /etc/   install   示例   ges   config   没有   

编写执行playbook的时候,每次修改完yml文件,没必要把整个playbook都运行一遍,只需要运行改变了的task。我们可以给task一个标签,运行playbook时明确只运行这个标签(tag)对应的task就可以了。多个任务可以使用同一个tags。

官方示例:

tasks:
 
    - yum: name={{ item }} state=installed
      with_items:
         - httpd
         - memcached
      tags:
         - packages
 
    - template: src=templates/src.j2 dest=/etc/foo.conf
      tags:
         - configuration

 

此时若希望只run其中的某个task,这run 的时候指定tags即可

ansible-playbook example.yml --tags "configuration,packages"   #run 多个tags
ansible-playbook example.yml --tags packages                   # 只run 一个tag

 

相反,也可以跳过某个task

ansible-playbook example.yml --skip-tags configuration

 

tags属性放到roles

roles:
  - { role: webserver, port: 5000, tags: [ web, foo ] }

 

tags属性与include结合使用

- include: foo.yml tags=web,foo

 

always、tagged、untagged、all 是四个系统内置的tag,有自己的特殊意义

  always: 指定这个tag 后,task任务将永远被执行,而不用去考虑是否使用了--skip-tags标记

   tagged: 当 --tags 指定为它时,则只要有tags标记的task都将被执行,--skip-tags效果相反

   untagged: 当 --tags 指定为它时,则所有没有tag标记的task 将被执行,--skip-tags效果相反

  all: 这个标记无需指定,ansible-playbook 默认执行的时候就是这个标记.所有task都被执行

 

ansbile tags

标签:就是   编写   意义   /etc/   install   示例   ges   config   没有   

原文地址:https://www.cnblogs.com/FRESHMANS/p/8427313.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!