पाठ 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 होते समय संसाधित होता है।