Ansible Academy · पाठ

template Module और .j2 Files

रेंडर की गई file को होस्ट पर तैनात करें।

पाठ 1, कुल 4 में से13 चरण

template Module और .j2 Files, CoddyKit पर Ansible Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Ansible Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्थिर फ़ाइलें पर्याप्त नहीं हैं

copy मॉड्यूल किसी फ़ाइल को बिना बदलाव भेजता है। लेकिन कॉन्फ़िगरेशन फ़ाइलों में अक्सर ऐसा पोर्ट या होस्टनाम चाहिए जो हर सर्वर के लिए अलग हो, इसलिए स्थिर प्रतियाँ पर्याप्त नहीं होतीं। 🤔

template मॉड्यूल का परिचय

template मॉड्यूल पहले Jinja2 के माध्यम से फ़ाइल को रेंडर करता है, चरों के मान भरता है, और फिर परिणाम को होस्ट पर कॉपी करता है।

- name: Deploy config
  template:
    src: nginx.conf.j2
    dest: /etc/nginx/nginx.conf

.j2 परंपरा

टेम्पलेट की स्रोत फ़ाइलों के अंत में .j2 लिखा जाता है, जिससे वे Jinja2 फ़ाइलों के रूप में पहचानी जाती हैं। यह परंपरा है, अनिवार्य नियम नहीं, लेकिन सभी इसका पालन करते हैं।

src और dest

src आपके नियंत्रण नोड पर मौजूद .j2 फ़ाइल की ओर संकेत करता है, और dest प्रबंधित होस्ट पर अंतिम पथ होता है।

template:
  src: app.conf.j2
  dest: /etc/app/app.conf

टेम्पलेट कहाँ रखे जाते हैं

डिफ़ॉल्ट रूप से Ansible आपके प्लेबुक के पास या किसी role के अंदर मौजूद templates निर्देशिका में टेम्पलेट खोजता है। पथ-उपसर्ग की आवश्यकता नहीं होती।

templates/
  nginx.conf.j2
site.yml

न्यूनतम टेम्पलेट

.j2 फ़ाइल के अंदर साधारण पाठ वैसा ही रहता है और {{ }} चिह्न बदल दिए जाते हैं। यहाँ पोर्ट वाला चर वास्तविक संख्या बन जाता है।

listen {{ http_port }};
server_name {{ domain }};

फ़ाइल अनुमतियाँ सेट करें

copy की तरह template भी owner, group और mode स्वीकार करता है, इसलिए तैयार की गई फ़ाइल सही स्वामित्व के साथ पहुँचती है।

template:
  src: app.conf.j2
  dest: /etc/app.conf
  mode: "0644"

लिखने से पहले मान्य करें

validate विकल्प फ़ाइल स्थापित करने से पहले तैयार की गई फ़ाइल पर जाँच कमांड चलाता है, इसलिए ख़राब कॉन्फ़िगरेशन कभी वितरित नहीं होता।

template:
  src: sshd.j2
  dest: /etc/ssh/sshd_config
  validate: "sshd -t -f %s"

टेम्पलेट बार-बार चलाने पर भी सुरक्षित होते हैं

यदि तैयार किया गया परिणाम होस्ट पर पहले से मौजूद फ़ाइल से मेल खाता है, तो template ok बताता है और कुछ नहीं बदलता। इसे बार-बार चलाना सुरक्षित है।

बदलाव पर हैंडलर को सूचित करें

template को notify के साथ जोड़ें, ताकि सेवा केवल तभी पुनः शुरू हो जब कॉन्फ़िगरेशन फ़ाइल में वास्तव में बदलाव हुआ हो। यह एकदम उपयुक्त मेल है।

template:
  src: nginx.conf.j2
  dest: /etc/nginx/nginx.conf
  notify: restart nginx

template बनाम copy

जब फ़ाइल हर जगह एक जैसी हो, तब copy का उपयोग करें; और जब उसके किसी भी भाग को होस्ट के अनुसार बदलना हो, तब template का उपयोग करें।

त्वरित जाँच

आपको ऐसी कॉन्फ़िगरेशन फ़ाइल चाहिए जिसका पोर्ट हर सर्वर के लिए अलग हो। कौन-सा मॉड्यूल उपयुक्त है?

पुनरावलोकन

आपने template मॉड्यूल सीखा: यह Jinja2 से .j2 फ़ाइल रेंडर करता है, उसे dest पर रखता है, अनुमतियाँ तय करता है और बार-बार चलाने पर भी अनावश्यक बदलाव नहीं करता। ✨

शुरुआत निःशुल्क

एआई शिक्षक के साथ YAML सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “template Module और .j2 Files” पाठ निःशुल्क है?

हाँ—“template Module और .j2 Files” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Ansible Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Ansible Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“template Module और .j2 Files” में मैं क्या सीखूँगा?

रेंडर की गई file को होस्ट पर तैनात करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Ansible Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Ansible Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Ansible Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“template Module और .j2 Files” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Ansible Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Ansible Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. template Module और .j2 Files
  2. Jinja2 में Variables और Expressions
  3. टेम्पलेट में Loops और if Blocks
  4. Filters: default, join और upper
← Ansible Academy पर वापस जाएँ