पाठ 18 / 26

Tasks को Include और Import करना

लंबी task सूचियाँ बाँटें और static imports व dynamic includes में चुनें।

Static या dynamic

फ़ाइलें छोटी रखने के लिए tasks के समूह अलग files में रखें और उन्हें खींचें। import_tasks static है: Ansible इसे playbook parse करते समय संसाधित करता है, इसलिए import पर लगे tags और when भीतर के हर task पर लागू होते हैं। include_tasks dynamic है: इसका मूल्यांकन run के समय होता है, जिससे फ़ाइल नाम में loops और variables संभव हैं पर --list-tasks और tag inheritance अलग व्यवहार करते हैं। निश्चित ढाँचे के लिए imports और जब चुनाव run के समय डेटा पर निर्भर हो तब includes चुनें।

Import बनाम include

उदाहरण snippet। Include run के समय OS के अनुसार फ़ाइल चुनता है।

- name: Always-present baseline tasks
  ansible.builtin.import_tasks: baseline.yml

- name: OS-specific tasks chosen at run time
  ansible.builtin.include_tasks: "{{ ansible_os_family | lower }}.yml"

त्वरित जाँच: कौन-सा run के समय मूल्यांकित होता है?

  • include_tasks
  • import_tasks
  • कोई नहीं
  • दोनों, हमेशा
Answer

include_tasks — include_* dynamic है; import_* playbook parse होते समय संसाधित होता है।