ऐसा करने के कई तरीके हैं और आपके प्रश्न से यह स्पष्ट नहीं है कि आपको क्या चाहिए।
1. यदि आपको केवल TASK के अनुसार पर्यावरण चर की आवश्यकता है, तो आप ऐसा करते हैं:
- hosts: dev
tasks:
- name: Echo my_env_var
shell: "echo $MY_ENV_VARIABLE"
environment:
MY_ENV_VARIABLE: whatever_value
- name: Echo my_env_var again
shell: "echo $MY_ENV_VARIABLE"
ध्यान दें कि MY_ENV_VARIABLE
केवल पहले कार्य के लिए उपलब्ध है, environment
यह आपके सिस्टम पर स्थायी रूप से सेट नहीं होता है।
TASK: [Echo my_env_var] *******************************************************
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": "whatever_value"}
TASK: [Echo my_env_var again] *************************************************
changed: [192.168.111.222] => {"changed": true, "cmd": "echo $MY_ENV_VARIABLE", ... "stdout": ""}
उम्मीद है कि जल्द ही उपयोग environment
करना खेल के स्तर पर भी संभव होगा , न केवल ऊपर के रूप में कार्य स्तर। वर्तमान में Ansible के GitHub पर इस सुविधा के लिए एक पुल अनुरोध खुला है: https://github.com/ansible/ansible/pull/8651
अद्यतन: यह अब 2 जनवरी 2015 के रूप में विलय कर दिया गया है।
2. यदि आप स्थाई पर्यावरण चर + प्रणाली को विस्तृत / केवल निश्चित उपयोगकर्ता के लिए चाहते हैं
आपको यह देखना चाहिए कि आप इसे अपने लिनक्स वितरण / शेल में कैसे करते हैं, इसके लिए कई स्थान हैं। उदाहरण के लिए उबंटू में आप इसे उदाहरण के लिए फाइलों में परिभाषित करते हैं:
~/.profile
/etc/environment
/etc/profile.d
निर्देशिका
- ...
आपको इसके बारे में उबंटू डॉक्स यहां मिलेंगे: https://help.ubuntu.com/community/EnvironmentVariables
पूर्व में पर्यावरण चर स्थापित करने के लिए आखिरकार। उबंटू आप बस lineinfile
Ansible से मॉड्यूल का उपयोग कर सकते हैं और कुछ फ़ाइल में वांछित लाइन जोड़ सकते हैं। इसे स्थायी बनाने के लिए इसे जोड़ने के लिए अपने OS डॉक्स से परामर्श करें।