如何在剧本中设置Ansible标签?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在剧本中设置Ansible标签?相关的知识,希望对你有一定的参考价值。
我想基于条件值跳过一些戏剧。我可以在开始时执行一项任务,在满足条件时跳过其他一些任务。
我知道我总是可以使用set_fact
并将其作为运行其他游戏(角色和任务)的条件,或者在我想跳过的每个游戏中直接评估所述条件。
然而,由于戏剧已经有了标记系统,在Ansible中有类似set_tags
的东西,我可以利用它来避免在我的戏剧中添加条件并且膨胀我已经很重的剧本。
像这样的东西:
- name: skip terraform tasks if no file is provided
hosts: localhost
tasks:
set_tags:
- name: terraform
state: skip
when: terraform_files == ""
我想跳过的两部戏剧:
- name: bootstrap a testing infrastructure
hosts: localhost
roles:
- role: terraform
state: present
tags:
- create_servers
- terraform
[...]
- name: flush the testing infrastructure
hosts: localhost
roles:
- role: terraform
state: absent
tags:
- destroy_servers
- terraform
答案
如果我理解正确,应该做以下事情。
- name: bootstrap a testing infrastructure
hosts: localhost
roles:
- role: terraform
state: present
when: terraform_files != ""
tags:
- create_servers
- terraform
[...]
- name: flush the testing infrastructure
hosts: localhost
roles:
- role: terraform
state: absent
when: terraform_files != ""
tags:
- destroy_servers
- terraform
这与在角色中的每个任务上设置when子句基本相同。因此,如果条件为假,将检查每个任务但跳过。
以上是关于如何在剧本中设置Ansible标签?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ansible 库存文件中设置 host_key_checking=false?