• 3.2 playbook tags


    如果你有一个很大的playbook,而你只想run其中的某个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 一个tags
     
    相反,也可以跳过某个task
    ansible-playbook example.yml --skip-tags configuration
     
     
    二、tags 和role 结合使用
    tags 这个属性也可以被应用到role上,例如:
    roles:
      - { role: webserver, port: 5000, tags: [ 'web', 'foo' ] }
     
     
     
    三、tags和include结合使用
    - include: foo.yml tags=web,foo
     
    这样,fool.yml 中定义所有task都将被执行
     
     
    四、系统中内置的特殊tags
      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都被执行
     





  • 相关阅读:
    常用资源
    printf打印颜色
    Vue开发中踩坑-Day3
    Vue开发踩坑-Day2
    Vue开发中的踩坑-day1
    Python中virtualenv的使用
    第十一章:Python高级编程-协程和异步IO
    第十章:Python高级编程-多线程、多进程和线程池编程
    第九章:Python高级编程-Python socket编程
    自定义Element父子不关联的穿梭树
  • 原文地址:https://www.cnblogs.com/51runsky/p/4665906.html
Copyright © 2020-2023  润新知