• ansible-playbook的tag标签


    ansible预置了5个特殊tag,分别为always、never(2.5版本中新加入的)、tagged、untagged、all

    当我们把任务的tags的值指定为always时,那么这个任务就总是被执行,除非使用--skip-tags选项明确指定不执行对应的任务

    ---
    - name: Add administrator user
      user:
        name: {{admin_user}}
        shell: /bin/bash
        state: present
    - name: Config administrator password for administrator user
      user:
        name: {{admin_user}}
        password: {{admin_user_passwd}}
    - name: Delete administrator user
      user:
        name: {{admin_user}}
        state: absent
      tag: delete_admin_user
    - name: Modify root passwd
      user:
        name: root
        password: {{root_passwd}}
      tag: modify_root_pwd,always

    当执行ansible-playbook --tags delete_admin_user test.yaml后,不但执行了delete_admin_user的标签任务,还执行了拥有always标签的任务。

    如果不想执行标签中包含always的任务,使用--skip-tags always选项,就会跳过所有包含always标签的任务。

    对于never标签,其作用与always正好相反。

    对于tagged、untagged、all三个特殊标签,并非像always和never一样作为标签值存在,而是在调用标签时使用

    ansible-playbook --tags tagged test.yaml

    上述命令表示只执行有标签的任务,没有任何标签的任务不会执行。

    ansible-playbook --skip-tags tagged test.yaml

    上述命令表示跳过包含标签的任务,即使拥有always标签,也会跳过。

    ansible-playbook --tags untagged test.yaml 

    上述命令表示只执行没有标签的任务,但拥有always标签的任务,仍然会被执行。

    ansible-playbook --skip-tags untagged test.yaml

    上述命令表示跳过没有标签的任务。

    在调用标签之前,如果要概览playbook中都有哪些标签,可以使用--list-tags选项。

    参考文献:http://www.zsythink.net/archives/2641/

  • 相关阅读:
    单表查询和多表连接查询哪个效率更快
    高并发和秒杀系统设计
    微服务框架学习三:服务通信框架介绍
    微服务框架学习一:架构介绍
    微服务框架学习二:Http调用
    支付相关的学习资源
    service mesh学习规划
    智齿客服网页端接入文档V2.3
    VUE请求本地数据的配置json-server
    webpack学习
  • 原文地址:https://www.cnblogs.com/caibao666/p/12598660.html
Copyright © 2020-2023  润新知