2017-02-16 2 views
0

안녕하세요 저는 전에 일한 이전 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이 참인 경우에만 실행됩니다. 이 경우 우리는 왜 그 일들이 필요한가?

답변

2

변수가 연극에서만 설정되면 작업이 실행되지 않습니다.

그러나 재생 중에 정의 된 값은 다른 레벨에서 변수를 정의하여 무시할 수 있습니다 (예 : 실행 행의 --extra-vars 매개 변수).

variable precedence을 읽으십시오.

플레이 북 작성자는 다른 곳에서 명시 적으로 지정된 경우에만 작업을 실행하려고 할 수 있습니다.


게다가, Ansible 표기 (parameter=value)와 순수 YAML (parameter: value)를 혼합하지 않는, 즉를 들여 단일 대회 결정에주의하십시오.

+0

지우기. 고맙습니다. – GergA

관련 문제