ansible中tag的用法

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

posted @ 2015-11-18 15:39  mofy  阅读(970)  评论(0编辑  收藏  举报