首页 > 解决方案 > 在ansible中调用该角色时如何执行具有匹配标签的任务?

问题描述

我想跳过具有特定标签的任务

我想跳过的角色中的示例任务:

- name: restart testsvc
  service: 
   name: testsvc
   state: restarted
  tags: 
  - primary

我称之为角色的主要剧本如下

---
- hosts: all
  become: yes
  gather_facts: true
  vars_files:
  - vars/all.yml
  roles:
  - { role: setup, --skip-tags: "primary", when: jenkins_standby is defined }

但它不起作用。是否可以通过其他方式处理这个问题?

标签: ansibletagsroles

解决方案


运行 playbook 时,应在命令行上指定选择或跳过特定标签。

ansible-playbook play.yml --skip-tags "primary"

skip_tags选项,很早就由命令行选项设置,用于剧本的初始解析。

文档

从剧本中定义skip_tags选项不会引发任何解析错误,但是因为剧本已经被解析,所以为时已晚。


推荐阅读