1. tags标签

默认情况下, Ansible 在执行一个 playbook 时,会执行 playbook 中所有的任务。而标签功能是用来指定要运行 playbook 中的某个特定的任务;

  • playbook 添加标签的方式有如下几种:

    • 对一个 task 打一个标签;
    • 对一个 task 打多个标签;
    • 对多个 task 打一个标签;
  • task 打完标签使用的几种方式:
    • -t 执行指定tag标签对应的任务;
    • --skip-tags 执行除 --skip-tags 标签之外的所有任务;

1.1 指定执行某个tags

编写playbook文件,为每个task都设置一个tag

[root@xuzhichao playbook]# cat install_httpd.yml
---
- hosts: 192.168.20.23
remote_user: root tasks:
- name: Install Htttpd Server
yum:
name: httpd
state: present
tags:
- install_httpd
- install_apache - name: Configure Httpd Server
copy:
src: conf/httpd.conf.j2
dest: /etc/httpd/conf/httpd.conf
owner: "root"
group: "root"
mode: "0644"
notify: Restart Httpd Server
tags: conf_httpd - name: Init Httpd Server
copy:
src: file/test.html.j2
dest: /var/www/html/test.html
owner: "apache"
group: "apache"
mode: "0644"
tags: init_httpd - name: Start Httpd Server
service:
name: httpd
state: started
enabled: yes
tags: start_httpd handlers:
- name: Restart Httpd Server
service:
name: httpd
state: restarted

查看此playbook所有的tag

[root@xuzhichao playbook]# ansible-playbook install_httpd.yml --list-tags

playbook: install_httpd.yml

  play #1 (192.168.20.23): 192.168.20.23	TAGS: []
TASK TAGS: [conf_httpd, init_httpd, install_apache, install_httpd, start_httpd]

指定运行的任务的tag,使用 -t 指定 tags 标签对应的任务, 多个 tags 使用逗号隔开即可:

[root@xuzhichao playbook]# ansible-playbook -C -t install_httpd,start_httpd install_httpd.yml 

PLAY [192.168.20.23] ******************************************************************************************************************************************

TASK [Install Htttpd Server] **********************************************************************************************************************************
ok: [192.168.20.23] TASK [Start Httpd Server] *************************************************************************************************************************************
changed: [192.168.20.23] PLAY RECAP ****************************************************************************************************************************************************
192.168.20.23 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

1.2 指定排除某个tags

使用 --skip-tags 排除不执行的 tags

[root@xuzhichao playbook]# ansible-playbook --skip-tags install_httpd,start_httpd install_httpd.yml 

PLAY [192.168.20.23] ******************************************************************************************************************************************

TASK [Configure Httpd Server] *********************************************************************************************************************************
changed: [192.168.20.23] TASK [Init Httpd Server] **************************************************************************************************************************************
ok: [192.168.20.23] RUNNING HANDLER [Restart Httpd Server] ************************************************************************************************************************
changed: [192.168.20.23] PLAY RECAP ****************************************************************************************************************************************************
192.168.20.23 : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

ansible系列(26)--ansible的tags标签的更多相关文章

  1. Ansible系列(五):playbook应用和roles自动化批量安装示例

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  2. Ansible系列(四):playbook应用和roles自动化批量安装示例

    Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html playbook是ansible实现批量自动化最重要的手段.在其中可以使用变 ...

  3. Ansible系列(七):执行过程分析、异步模式和速度优化

    本文目录:1.1 ansible执行过程分析1.2 ansible并发和异步1.3 ansible的-t选项妙用1.4 优化ansible速度 1.4.1 设置ansible开启ssh长连接 1.4. ...

  4. Ansible系列(二):选项和常用模块

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  5. Ansible系列(一):基本配置和使用

    本文目录:1.1 安装Ansible1.2 配置Ansible 1.2.1 环境配置 1.2.2 SSH互信配置 1.2.3 简单测试1.3 inventory Ansible是一种批量.自动部署工具 ...

  6. Ansible系列(六):各种变量定义方式和变量引用

    本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...

  7. Ansible系列(三):YAML语法和playbook写法

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  8. Ansible系列(六):循环和条件判断

    本文目录:1. 循环 1.1 with_items迭代列表 1.2 with_dict迭代字典项 1.3 with_fileglob迭代文件 1.4 with_lines迭代行 1.5 with_ne ...

  9. Ansible系列(五):各种变量定义方式和变量引用

    Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...

  10. 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

    目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 1.3.ansible优缺点 1.4.ansible安装方式 1.5.ansible文件简单介绍 1.6. ...

随机推荐

  1. Azkaban 2.5 Documentation

    Overview Azkaban was implemented at LinkedIn to solve the problem of Hadoop job dependencies. We had ...

  2. 13 JavaScript关于prototype(超重点)

    13 JavaScript关于prototype(超重点) prototype是js里面给类增加功能扩展的一种模式. 写个面向对象来看看. function People(name, age){ th ...

  3. #矩阵乘法#洛谷 5343 【XR-1】分块

    题目 分析 考虑dp,\(dp[i]=\sum dp[i-j]\) 既然\(j\)很小,那么这显然可以用矩阵乘法优化 代码 #include <cstdio> #include <c ...

  4. C#中base关键字的几种用法 (base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法)

    base最大的使用就是"面向对象"开发的多态中.base可以对派生类(子类)实例中调用基类(父类)的构造函数方法或者基类上已经被重写的虚方法. 首先声明两个类 A B public ...

  5. BI工具的应用能给企业带来哪些帮助?

    大数据时代的到来,加快了企业的信息化进程,越来越多的企业选择应用BI工具于企业的日常经营运作之中.BI即商业智能,我们可以将其理解其为改善业务经营决策的一套解决方案.经过多年的发展,BI已经从最初的& ...

  6. Qt 实现涂鸦板二:实现放大功能

    在一的基础上改造: .h 文件 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" #inc ...

  7. selenium报错:Message: stale element reference: element is not attached to the page document

    在使用selenium时,报了一个错误 报错的原因: 所引用的元素已过时,不再依附于当前页面.通常情况下,这是因为页面进行了刷新或跳转 解决方法: 重新定位元素 代码示例: # 旧代码(报错) lis ...

  8. Redis和elasticsearch

    redis -----------NOSQL的对比和劣和应用场景参考好文http://www.redis.cn/articles/20181020003.html --------- -------- ...

  9. NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL]

    NL2SQL基础系列(1):业界顶尖排行榜.权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL.Text2DSL] Text-to-SQL(或者Text2S ...

  10. HarmonyOS—使用Web组件加载页面

      页面加载是Web组件的基本功能.根据页面加载数据来源可以分为三种常用场景,包括加载网络页面.加载本地页面.加载HTML格式的富文本数据. 页面加载过程中,若涉及网络资源获取,需要配置ohos.pe ...