Ansible Playbook内是否可访问执行时指定的标签列表?
如何在Ansible Playbook中获取执行时指定的标签数组
完全可以实现,Ansible内置了ansible_run_tags变量,它会返回执行Playbook时通过--tags参数指定的标签列表(数组形式)。
举个例子,假设你执行命令:
ansible-playbook /dev/foo.yml --tags tag1
在foo.yml里可以这样读取这个标签值:
- name: 打印执行时指定的标签 debug: msg: "当前执行的标签是: {{ ansible_run_tags }}"
执行后会输出类似内容:
TASK [打印执行时指定的标签] ***************************************** ok: [localhost] => { "msg": "当前执行的标签是: ['tag1']" }
如果同时指定多个标签,比如--tags tag1,tag2,ansible_run_tags会返回包含两个元素的数组['tag1', 'tag2']。
需要注意的是,这个变量是全局可用的,你可以在Playbook的任意位置(tasks、vars、handlers等)引用它。
内容的提问来源于stack exchange,提问作者Mint
相关产品推荐
相关产品推荐

