1. ansible-任务控制tags介绍
        如果你有一个大型的剧本,那么只能运行它的特定部分而不是在剧本中运行所有内容可能会很有用。因此,Ansible支持“tags:”属性。
        执行playbook时,可以通过两种方式根据 “tags” 过滤任务

    • 在命令行上,使用或选项“--tags或 --skip-tags ”
    • 在ansible配置设置中,使用和选项“TAGS_RUN 或 TAGS_SKIP”

  标签可以应用于Ansible中的许多结构(参见下面的“标签继承”),但最简单的用途是单独的任务。以下是使用不同标记标记两个任务的示例:

 1 tasks:
2 - yum:
3 name: "{{ item }}"
4 state: present
5 loop:
6 - httpd
7 - memcached
8 tags:
9 - packages
10
11 - template:
12 src: templates/src.j2
13 dest: /etc/foo.conf
14 tags:
15 - configuration

   如果您只想运行一个非常长的剧本的“配置”和“包”部分,您可以在命令行上使用该选项:--tags

1   ansible-playbook example.yml --tags "configuration,packages"

   另一方面,如果要在没有某些标记任务的情况下运行playbook ,可以使用命令行选项:--skip-tags

1   ansible-playbook example.yml --skip-tags "packages"

2. ansible-任务控制实例
  1)编写一个nginx的tags控制版本

 1 [root@test-1 bin]# vim  /ansible/nginx/bin/nginx_tags.yaml
2 [root@test-1 bin]# cat /ansible/nginx/bin/nginx_tags.yaml
3 - hosts: web1
4 remote_user: root
5 vars:
6 hello: Ansible
7
8 tasks:
9 - name: Add repo
10 yum_repository:
11 name: nginx
12 description: nginx repo
13 baseurl: http://nginx.org/packages/centos/7/$basearch/
14 gpgcheck: no
15 enabled: 1
16 tags:
17 - yum install
18
19 - name: Install nginx
20 yum:
21 name: nginx
22 state: latest
23 tags:
24 - yum nginx install
25
26 - name: Copy nginx configuration file
27 copy:
28 src: /ansible/nginx/conf/site.conf
29 dest: /etc/nginx/conf.d/site.conf
30 - name: Start nginx
31 service:
32 name: nginx
33 state: started
34 - name: Create wwwroot directory
35 file:
36 dest: /var/www/html
37 state: directory
38 - name: Create test page index.html
39 shell: echo "hello {{hello}}" > /var/www/html/index.html

2) 检查配置文件是否正确

1 [root@test-1 bin]# ansible-playbook --syntax-check nginx_tags.yaml
2
3
4 playbook: nginx_tags.yaml

3) 执行文件
      包括tags 标签的执行的

 1 [root@test-1 bin]# ansible-playbook nginx_tags.yaml  --tags "yum nginx install"
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4
5 PLAY [web1] ************************************************************************************************************************************
6
7 TASK [Gathering Facts] *************************************************************************************************************************
8 ok: [192.168.200.133]
9 ok: [192.168.200.132]
10
11 TASK [Install nginx] ***************************************************************************************************************************
12 ok: [192.168.200.133]
13 ok: [192.168.200.132]
14
15 PLAY RECAP *************************************************************************************************************************************
16 192.168.200.132 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
17 192.168.200.133 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

不包括tags内的以外的执行

 1 [root@test-1 bin]# ansible-playbook nginx_tags.yaml  --tags "yum install,yum nginx install"
2 [WARNING]: log file at /var/log/ansible/ansible.log is not writeable and we cannot create it, aborting
3
4
5 PLAY [web1] ************************************************************************************************************************************
6
7 TASK [Gathering Facts] *************************************************************************************************************************
8 ok: [192.168.200.133]
9 ok: [192.168.200.132]
10
11 TASK [Add repo] ********************************************************************************************************************************
12 ok: [192.168.200.133]
13 ok: [192.168.200.132]
14
15 TASK [Install nginx] ***************************************************************************************************************************
16 ok: [192.168.200.133]
17 ok: [192.168.200.132]
18
19 PLAY RECAP *************************************************************************************************************************************
20 192.168.200.132 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
21 192.168.200.133 : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

ansible-任务控制tags的更多相关文章

  1. 4.Ansible Task控制

    1.tag标签(调试) --skip-tags install_nfs 跳过此标签 -t 指定标签名 [root@manager tasks]# cat task_nfs.yml - hosts: w ...

  2. Ansible--04 ansible 流程控制

    ansible 流程控制 playbook 条件语句 不管是 shell 还是各大编程预言中,流程控制,条件判断都是必不可少的,在我们使用 Ansible的过程中,条件判断的使用频率都非常高. 例如: ...

  3. ansible 流程控制

    ansible 流程控制 使用when判断主机名 - hosts: rsync_server tasks: - name: Install rsyncd Server yum: name: rsync ...

  4. Ansible流程控制

    Ansible流程控制 数据库操作问题: 数据库的操作问题,python需要依耐的模块MySQL-python . 数据库的操作 # 设置root的密码在,root的密码设置之后,创建用户和创建数据库 ...

  5. ansible 自动化管理

    1 什么样的情形需要批量部署 1.操作系统的安装 常见的有collber,red hat satelite(redhat)系统专用. 2.操作系统的配置 常见的有cfengine,puppet,che ...

  6. Ansible学习实战手记-你想要知道的可能都在这里了

    最近接触了ansible工具,查找了一些资料,也做了一些总结.希望能给刚接触的新手带来一些帮助. 此总结有实际例子,大部分也是从实践中用到才逐一总结的. 当然可能肯定一定会存在一些错误和纰漏,还望大家 ...

  7. Ansible Playbooks高级使用

    文件操作 文件创建 file 用于设置文件/链接/目录的属性,或者删除文件/链接/目录 ### state如果是directory当目录不存在时会自动创建:如果是file当文件不存在时不会自动创建 - ...

  8. 《Ansible自动化运维:技术与佳实践》第二章读书笔记

    Ansible 安装与配置 本章主要讲的是 Ansible 安装与基本配置,主要包含以下内容: Ansible 环境准备 安装 Ansible 配置运行环境 Ansible 环境准备 从 GitHub ...

  9. consul++ansible+shell批量下发注册node_exporter

    --日期:2020年7月21日 --作者:飞翔的小胖猪  文档功能说明: 文档通过ansible+shell+consul的方式实现批量下发安装Linux操作系统监控的node_exporter软件, ...

随机推荐

  1. day48:django前戏之HTTP协议&自定义web框架

    目录 1.HTTP协议 1.HTTP协议简介 2.HTTP协议概述 3.HTTP协议工作原理 4.HTTP协议请求方法 5.HTTP协议状态码 6.URL 7.HTTP请求格式 8.HTTP响应格式 ...

  2. 08_Python的数据类型

    1.数字(整型int 浮点型float 复数complex) 1.数字概述 不可变类型,一旦创建不可修改,不是迭代对象,属于原子型 2.整型数int 概述: 整型数是不带有小数部分的数字,包括自然数, ...

  3. Q200510-03-03 :LRU缓存机制

    LRU缓存机制运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制.它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - 如果密钥 ( ...

  4. springboot x.x.x RELEASE pom 第一行报错解决办法

    springboot x.x.x RELEASE pom 第一行报错解决办法 在pom.xml 文件的properties中加入maven jar插件的版本号 <properties> & ...

  5. conda和pip重新配置源

    conda设置源之后出现了问题,报错condaHTTPError: 之前按照网上的一些教程设置了清华源之后,过了一段时间,今天来装新的库时报了以上错误,特此记录一下. conda 源重新设置 重新去清 ...

  6. 5 分钟带你掌握 Makefile 分析

    摘要:Makefile是一个名为GNU-Make软件所需要的脚本文件,该脚本文件可以指导Make软件控制arm-gcc等工具链去编译工程文件最终得到可执行文件,几乎所有的Linux发行版都内置了GNU ...

  7. java oop 修饰符&关键字

    一.修饰符 Java中四种访问权限修饰符: private 缺省(default) protected public 修饰类的成员,用来限定对象对该类成员的访问权限. 修饰符 类内部 同一个包 不同包 ...

  8. Windows10 安装 CUDA + cuDNN + pyTorch

    2020/5/29 在 windows10 上面安装 CUDA 和 cuDNN 0.简单了解一下 CUDA 和 cuDNN 1)什么是 CUDA CUDA(ComputeUnified Device ...

  9. 面试官:哪些场景会产生OOM?怎么解决?

    这个面试题是一个朋友在面试的时候碰到的,什么时候会抛出OutOfMemery异常呢?初看好像挺简单的,其实深究起来考察的是对整个JVM的了解,而且这个问题从网上可以翻到一些乱七八糟的答案,其实在总结下 ...

  10. nginx实战(1):宝塔设置反向代理

    以下操作适用于默认80端口转其他地址非80端口情况. 添加网站 注意:因我只是拿来当反向代理来使用,所PHP为纯静态模式. 开启反向代理 注:目标URL为最终目的地,发送域名为默认,如设置后无效则修改 ...