ansible系列(26)--ansible的tags标签
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标签的更多相关文章
- Ansible系列(五):playbook应用和roles自动化批量安装示例
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(四):playbook应用和roles自动化批量安装示例
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html playbook是ansible实现批量自动化最重要的手段.在其中可以使用变 ...
- Ansible系列(七):执行过程分析、异步模式和速度优化
本文目录:1.1 ansible执行过程分析1.2 ansible并发和异步1.3 ansible的-t选项妙用1.4 优化ansible速度 1.4.1 设置ansible开启ssh长连接 1.4. ...
- Ansible系列(二):选项和常用模块
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(一):基本配置和使用
本文目录:1.1 安装Ansible1.2 配置Ansible 1.2.1 环境配置 1.2.2 SSH互信配置 1.2.3 简单测试1.3 inventory Ansible是一种批量.自动部署工具 ...
- Ansible系列(六):各种变量定义方式和变量引用
本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...
- Ansible系列(三):YAML语法和playbook写法
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(六):循环和条件判断
本文目录:1. 循环 1.1 with_items迭代列表 1.2 with_dict迭代字典项 1.3 with_fileglob迭代文件 1.4 with_lines迭代行 1.5 with_ne ...
- Ansible系列(五):各种变量定义方式和变量引用
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...
- 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机
目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 1.3.ansible优缺点 1.4.ansible安装方式 1.5.ansible文件简单介绍 1.6. ...
随机推荐
- 探索多种数据格式:JSON、YAML、XML、CSV等数据格式详解与比较
1. 数据格式介绍 数据格式是用于组织和存储数据的规范化结构,不同的数据格式适用于不同的场景.常见的数据格式包括JSON.YAML.XML.CSV等. 数据可视化 | 一个覆盖广泛主题工具的高效在线平 ...
- 本周二晚19:00战码先锋第8期直播丨如何多方位参与OpenHarmony开源贡献
OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...
- Java 日期和时间 API:实用技巧与示例 - 轻松处理日期和时间
Java 用户输入(Scanner) 简介 Scanner 类用于获取用户输入,它位于 java.util 包中. 使用 Scanner 类 要使用 Scanner 类,请执行以下步骤: 导入 jav ...
- Hypium框架使能ArkTS应用高效测试
原文链接:https://mp.weixin.qq.com/s/Ncc-x_4zy4wBZmSjknw1lQ,点击链接查看更多技术内容: HarmonyOS发布了声明式开发框架ArkUI,带来了 ...
- Causal Inference理论学习篇-Tree Based-Causal Tree
Tree-Based Algorithms Tree-based这类方法,和之前meta-learning 类的方法最明显的区别是: 这类方法把causal effect 的计算显示的加入了到了树模型 ...
- 基于 Java 编程生成二维码图片
0x01 准备 (1)软件版本 IntelliJ IDEA 2023.1.3 JDK 18 Tomcat 10.1.11 Maven 3.8.6 (2)技术栈 servlet zxing 谷歌项目 生 ...
- CentOS9 \ Centos8安装MySQL 8步骤
centos8 rpm 安装mysql8.0.28_太阳神LoveU的博客-CSDN博客 This upper link is still working for mysql 8 on the Cen ...
- 如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 [仅供参考未亲测]
如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等 2007-01-29 10:20:09 分类: LINUX 前提条件: 必须安装包:vsftpd-2.0.1-5 ...
- js es6 介绍set,WeakSet
前言 介绍一下es6 的set 和 weakset 正文 set ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set ...
- Java面试题:为什么HashMap不建议使用对象作为Key?
HashMap 是一种基于哈希表的动态数据结构,它允许使用任意不可变对象作为键(key)来存储和检索数据.然而,在某些情况下,使用对象作为 HashMap 的键可能会遇到一些问题. 首先,我们需要明确 ...