Ansible Playbook中的tags
前言
在编程的时候,我们习惯的会定义很多函数,这些函数只有在我们需要的时候,我们去调用它,它才会执行,那如何让playbook可以有这种类似的功能,实现我们随意调用某一个task的功能呢?
在playbook中,有一个叫做tags的东西,这个东西就可以实现上面我们想要的那种功能,只执行我们想执行的那部分内容。
本文中涉及的试验环境信息如下:
服务器信息如下:
192.168.5.2 # 管理主机
192.168.5.3 # 被管理远程主机
192.168.5.4 # 被管理远程主机
inventory文件内容如下:
[web]
192.168.5.3
192.168.5.4
tags基本用法
下面这是一个简单的playbook:
---
- hosts: web
gather_facts: False
tasks:
- name: action1
debug: msg="I am action1"
tags:
- action1
- name: action2
debug: msg="I am action2"
tags:
- action2
当我们执行时:
当不加任何
tags
参数,那么会执行所有标签对应的任务;可以使用
tags
指定需要执行的指定任务:ansible-playbook tagsTest1.yaml --tags "action1"
可以使用
skip-tags
指定需要跳过执行的任务:ansible-playbook tagsTest1.yaml --skip-tags "action1"
特殊的tags
标签的名字是我们自己定义的,但是总有一些特殊的名称已经被系统占用了,如果我们用这些特殊的标签名就会是不同的结果。
always
我们可以在yaml中指定always
标签,这样的话,在执行playbook的时候,有没有指定指定这个tag,带有always
的task都会被执行。tagged
我们可以使用--tags tagged
来执行所有标记了标签的task,不管标记的标签名字是什么。比如这样执行:ansible-playbook tagsTest1.yaml --tags tagged
untagged
我们可以使用--tags untagged
来执行所有没有标记标签的task,不管标记的标签名字是什么。比如这样执行:ansible-playbook tagsTest1.yaml --tags untagged
all
我们可以使用--tags all
来执行所有的任务。比如这样执行:ansible-playbook tagsTest1.yaml --tags all
总结
tags
功能还是蛮常用的,至少我还经常用的到,因为小巧实用,就经常被我“宠幸”,你也应该留意一下这个功能,以后不一定可以用的着。最后,如果觉的还不错,可以点击下方的“打赏”哦。
夜晚的蚊子,是真的可以吃人!
人生是个圆,有的人走了一辈子也没有走出命运画出的圆圈,其实,圆上的每一个点都有一条腾飞的切线。
玩代码、玩技术
长按识别二维码,关注“果冻想”
如果觉得还不错,可以点个“在看”哦~

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了