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. Tomcat之如何自己做一个tomcat

    来源:<How Tomcat Works> Servlet容器的工作原理: 1.创建一个request对象并填充那些有可能被所引用的servlet使用的信息,比如参数.头部.cookies ...

  2. Ocelot+Consul实现微服务架构

    API网关 API 网关一般放到微服务的最前端,并且要让API 网关变成由应用所发起的每个请求的入口.这样就可以明显的简化客户端实现和微服务应用程序之间的沟通方式.以前的话,客户端不得不去请求微服务A ...

  3. 十分钟快速入门 Python

    本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. ...

  4. 索引对单列极值查询的显著性影响(百万级别表单列最值查询 Cost由1405变成3)

    表结构: create table hy_emp( id number(7,0) primary key, name nvarchar2(20) not null, salary number(5,0 ...

  5. 20190923-05Linux用户组管理命令 000 013

    每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理.不同Linux 系统对用户组的规定有所不同, 如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建. 用户组的 ...

  6. Navicat Premium 15.0.17 破解激活(DFoX 注册机)

    Navicat Premium v15.0.17 安装程序和注册机已放入百度网盘,下载地址在本文最后 1. 下载并安装 Navicat Premium 15 在官网下载 Windows 版本的 Nav ...

  7. Git 沙盒模拟实战(基础篇)

    Git 沙盒模拟实战 分支 现有一个主分支 创建分支 # 创建分支 $ git branch bugFix # 切换到指定分支 $ git checkout bugFix 或者 # 创建分支,并切换到 ...

  8. 不再用上官网,自己部署一套ElementUI官方最新文档

    ElementUI官方的访问速度一直很慢,公司内网也无法进行外网访问.故研究了下最新的ElementUI API(2.13.2)部署教程. 先上效果图 ElementUI文档部署过程 到github下 ...

  9. netty学习心得2内存池

    http://frankfan915.iteye.com/blog/2199600 https://www.jianshu.com/p/13f72e0395c8:一个性能调优的文档,还有一些linux ...

  10. 解Bug之路-记一次对端机器宕机后的tcp行为

    解Bug之路-记一次对端机器宕机后的tcp行为 前言 机器一般过质保之后,就会因为各种各样的问题而宕机.而这一次的宕机,让笔者观察到了平常观察不到的tcp在对端宕机情况下的行为.经过详细跟踪分析原因之 ...