2017-02-16 13 views
0

Здравствуйте, у меня есть следующая структура задач, которую я получил от предыдущего IT-парня, который работал передо мной.Будут ли выполняться задачи Ansible или нет?

- 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, являющимися истинными. В этом случае, почему нам нужны эти задачи?

ответ

2

Задачи не будут выполняться, если переменные были установлены только в игре.

Но значения, определенные в игре, могут быть переопределены путем определения переменных на другом уровне, например с параметром --extra-vars в строке выполнения.

Подробнее о variable precedence.

Автор книги может захотеть, чтобы задачи выполнялись только при явном указании в другом месте.


Кроме того, обратите внимание на вмятие и решить для одной конвенции, то есть не смешивать чистый YAML (parameter: value) с анзибль нотации (parameter=value).

+0

Очистить. Спасибо. – GergA