본문으로 바로가기
반응형

주요 차이점은 다음과 같습니다.

  • import * (import_playbook, import_tasks 등) 문은 플레이북이 Parsing될 때 사전에 처리가된다.
  • include * (include_playbook, incloude_tasks 등) 문은 플레이북을 실행하는 동안 발생한대로만 처리한다.

위 내용에 따라 ansible에서는 import는 static (정적), include는 dynamic (동적)이라고 합니다.

 

 

task안에서 import_tasks를 사용할 수도 있으나, 보통 논리적으로 나눌때 import를 사용하고,

main.yml 

- import_tasks: prepare_filesystem.yml
- import_tasks: install_prerequisites.yml
- import_tasks: install_application.yml

 

include를 사용하여 동적으로 수집된 내용으로 다양한 작업을 처리할 때 사용합니다. 

include의 경우

- include_tasks: prerequisites_{{ ansible_os_family | lower }}.yml

 

 

정리 : 

 - import는 정적이며, 플레이북이 Parsing될 때 사전에 처리되어 일찍 에러등을 확인할 수 있지만

 - include는 동적으로, ansible이 해당 작업에 도달하는 순간에 파싱됨으로 오류가 있을 경우 해당 작업에 도달했을 때 확인이 가능하다.

728x90