ansible中tag的用法

时间:2023-12-15 17:28:32

Tags

根据官方文档介绍:

ansible允许通过自定义的关键字来给playbook中的资源打上标签,然后只运行标签标记的那个task任务。

例如,可能有个完成的OS配置,然后特定的步骤标记为“ntp”,然后我们可以运行标记的“ntp”步骤来重新配置时间服务器信息。

简单来说就是,给playbook或者task打上标签,就可以选择执行一个大的playbook中的一小部分(标记部分)。

Tag tasks

下面这种语法适用于为某个play或者task打标签:

tasks:
- yum: name= state=installed
with_items:
- httpd
- memcached
tags:
- packages - template: src=templates/src.j2 dest=/etc/foo.conf
tags:
- configuration

而后,可以选择执行或者跳过该playbook的一部分:

$ ansible-playbook example.yml --tags "packages"
$ ansbile-playbook example.yml --skip-tags "configuration"

Tag roles

为role里的每一个task设定tags

---

- hosts: webservers
roles:
- { role: foo, tags: ["bar", "baz"] }

Tag included files

为included files里的每一个task设定tags:

- include: foo.yml tags=web,foo

摘抄于:http://kidlj.com/wiki/ansible.html