Ansible tags 用法

作者: admin 分类: Ansible自动部署 发布时间: 2019-02-08 19:39
tags的作用:
可以针对一个大型的playbook来给不同的play打标签,使得可以直接运行这个标签,从而执行这一部分的任务

编写playbook

#这个playbook的作用是安装tree和添加一个计划任务
[root@squid tags]# cat firsh_tags.yaml 
---
- hosts: client
  tasks:
  - name: install soft tree
    yum: name=tree state=present
    tags:
      - InstallTree
 
  - name: add update time crontab
    cron:
      name: "At 21:30 every day updateTime"
      user: root 
      minute: 30 
      hour: 21 
      job: "/usr/sbin/ntpdate cn.pool.ntp.org >> /var/log/cron  2>&1"
    tags:
      - AddTimeCrontab
 

执行playbook

[root@squid tags]# ansible-playbook firsh_tags.yaml
 
PLAY [client] *****************************************************************
 
TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
 
TASK [add update time crontab] ************************************************
changed: [10.241.0.10]
changed: [10.241.0.11]
 
PLAY RECAP ********************************************************************
10.241.0.10                : ok=2    changed=1    unreachable=0    failed=0   
10.241.0.11                : ok=2    changed=1    unreachable=0    failed=0  


执行tags

#只执行安装tree的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "InstallTree"
 
PLAY [client] *****************************************************************
 
TASK [install soft tree] ******************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
 
PLAY RECAP *********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0   
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0  
 
 
#只执行添加计划任务的tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "AddTimeCrontab"
 
PLAY [client] *******************************************************************
 
TASK [add update time crontab]  *************************************************
ok: [10.241.0.10]
ok: [10.241.0.11]
 
PLAY RECAP **********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0  
 
#一次执行多个tags 用,分割
[root@squid tags]# ansible-playbook firsh_tags.yaml  --tags "InstallTree,AddTimeCrontab"
 
PLAY [client] *******************************************************************
 
TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
 
TASK [add update time crontab] **************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
 
PLAY RECAP **********************************************************************
10.241.0.10                : ok=2    changed=0    unreachable=0    failed=0
10.241.0.11                : ok=2    changed=0    unreachable=0    failed=0 
 
#跳过某个tags
[root@squid tags]# ansible-playbook firsh_tags.yaml  --skip-tags "AddTimeCrontab"
 
PLAY [client] *******************************************************************
 
TASK [install soft tree] ********************************************************
ok: [10.241.0.11]
ok: [10.241.0.10]
 
PLAY RECAP *********************************************************************
10.241.0.10                : ok=1    changed=0    unreachable=0    failed=0   
10.241.0.11                : ok=1    changed=0    unreachable=0    failed=0
 

Linux 命令大全

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!