首页 > 其他 > 详细

playbook 任务标签

时间:2020-10-07 16:39:44      阅读:49      评论:0      收藏:0      [点我收藏+]

 

1.标签的作用

默认情况下,Ansible在执行一个playbook时,会执行playbook中定义的所有任务,Ansible的标签(tag)功能可以给单独任务甚至整个playbook打上标签,然后利用这些标签来指定要运行playbook中的个别任务,或不执行指定的任务。

 

2.打标签的方式

1.对一个task下面的一个name打一个标签
2.对一个task下面的一个name打多个标签
3.对task下面的多个name打一个标签

 

3.打标签

1)对一个task打一个标签

.. ... ...
    - name: Config nginx Server
      copy:
        src: /root/conf/linux.wp.com.conf
        dest: /etc/nginx/conf.d/
      notify:
        - restart_web_nginx
        - get_nginx_status
      when: ansible_fqdn is match "web*"
      tags: config_web
... ... ...

 

2)对一个task下面的一个name打多个标签

  - name: Config nginx Server
      copy:
        src: /root/conf/linux.wp.com.conf
        dest: /etc/nginx/conf.d/
      notify:
        - restart_web_nginx
        - get_nginx_status
      when: ansible_fqdn is match "web*"
      tags: 
        - config_web
        - config_nginx

 

3)对task下面的多个name打一个标签

    - name: Config slb Server
      copy:
        src: /root/conf/proxy.conf
        dest: /etc/nginx/conf.d
      notify: restart_slb
      when: ansible_fqdn == "lb01"
      tags: config_nginx

    - name: Config nginx Server
      copy:
        src: /root/conf/linux.wp.com.conf
        dest: /etc/nginx/conf.d/
      notify:
        - restart_web_nginx
        - get_nginx_status
      when: ansible_fqdn is match "web*"
      tags: 
        - config_web
        - config_nginx

 

4.标签的使用

#查看所有的标签(也可以查看该剧本有多少 hosts )
[root@m01 ~]# ansible-playbook lnmp6.yml --list-tags

#执行标签指定的动作
[root@m01 ~]# ansible-playbook lnmp2.yml -t config_web

#执行指定多个标签的动作
[root@m01 ~]# ansible-playbook lnmp2.yml -t config_nginx,config_web

#跳过指定的标签动作
[root@m01 ~]# ansible-playbook lnmp2.yml --skip-tags config_nginx

 

playbook 任务标签

原文:https://www.cnblogs.com/chenlifan/p/13777447.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!