linux--ansible(playbook4 标签)

标签

tags

1.只执行task2
---
- hosts: testB
  remote_user: root
  tasks:
  - name: task1
    file: path=/testdir/file1 state=touch
    tags: t1           
  - name: task2
    file: path=/testdir/file2 state=touch
    tags: t2
  - name: task3
    file: path=/testdir/file3 state=touch
    tags: t3
ansible-playbook --tags=t2 5.yml

在这里插入图片描述

2.不执行t2
ansible-playbook --skip-tags=t2 5.yml

在这里插入图片描述

3.tags的三种格式
---
- hosts: testB
  remote_user: root
  tasks:
  - name: task1
    file: path=/testdir/file1 state=touch
    tags: t1                             第一种
  - name: task2
    file: path=/testdir/file2 state=touch
    tags:                                第二种
      - t2
  - name: task3
    file: path=/testdir/file3 state=touch
    tags: ['t3']                         第三种
4.tags的语法

第一种

---
- hosts: testB
  remote_user: root
  tasks:
  - name: install httpd
    tags: httpd,package
    yum: name=httpd state=latest       安装最新版

  - name: start httpd
    tags: httpd,service
    service: name=httpd state=started

在这里插入图片描述

第二种

继承关系

---
- hosts: testB
  remote_user: root
  tags: httpd
  tasks:
  - name: install httpd
    tags:
      - package
    yum: name=httpd state=latest

  - name: start httpd
    tags: ['service']
    service: name=httpd state=started

在这里插入图片描述
查看有哪些标签

ansible-playbook --list-tags 7.yml

always

不管执行哪部分 always总会执行

---
- hosts: testB
  remote_user: root
  tasks:
  - name: task1
    file: path=/testdir/file1 state=touch
    tags: t1,always
  - name: task2
    file: path=/testdir/file2 state=touch
    tags:
      - t2
  - name: task3
    file: path=/testdir/file3 state=touch
    tags: ['t3']

在这里插入图片描述
不执行always 所有alway都被跳过

在这里插入图片描述
== 只跳过t1的always==

---
- hosts: testB
  remote_user: root
  tasks:
  - name: task1
    file: path=/testdir/file1 state=touch
    tags: t1,always
  - name: task2
    file: path=/testdir/file2 state=touch
    tags:
      - t2
      - always
  - name: task3
    file: path=/testdir/file3 state=touch
    tags: ['t3']

在这里插入图片描述

2.5版本以后的never标签

never和always对应

---
- hosts: testB
  remote_user: root
  tasks:
  - name: task1
    file: path=/testdir/file1 state=touch
    tags: t1,always
  - name: task2
    file: path=/testdir/file2 state=touch
    tags:
      - t2
      - always
  - name: task3
    file: path=/testdir/file3 state=touch
    tags: never

在这里插入图片描述

tagged

只执行由标签的任务

ansible-playbook --tags tagged 6.yml

跳过包含标签的任务,即使是always

ansible-playbook --skip-tags tagged 6.yml

untagged

只执行没有标签的任务,always会执行

ansible-playbook --tags untagged 6.yml

跳过没有标签的任务

ansible-playbook --skip-tags untagged 6.yml

all

所有任务都会执行,默认情况下是all
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值