您好我有一个以前的任务结构,我从之前在我身边工作的IT人员那里得到了。
- hosts: "{{env}}"
vars:
workspace: "{{ hostvars[localhost]['workspace'] }}"
post_build: false
tasks:
- name: Delete log module folder on remote
file: blabla
state=absent
when: post_build
- name: Copy login folder to remote
copy:src='blabla'
when: post_build
任务是否会运行?因为post_build
变量在开头设置为false
。但是只有post_build
成立才能运行任务。在这种情况下,为什么我们需要这些任务?
答案 0 :(得分:2)
如果变量仅在游戏中设置,则任务将不会运行。
但是在play中定义的值可以通过在不同级别定义变量来覆盖,例如在执行行中使用--extra-vars
参数。
该剧本的作者可能希望仅在其他地方明确指定时才能运行任务。
此外,请注意缩进并决定单一约定,即不要将纯YAML(parameter: value
)与Ansible符号(parameter=value
)混合。