ansible भूमिका के लिए फ़ाइलों को अपेक्षाकृत रूप से कैसे कॉपी करें?




ansible-playbook (2)

यदि आप कोई रास्ता नहीं प्रदान करते हैं, तो केवल फ़ाइल नाम, Ansible इसे स्वचालित रूप से भूमिका की files निर्देशिका से चुन लेगा।

इसके अतिरिक्त, Ansible 1.8 के बाद से, चर role_path जिसे आप अपने copy कार्य में उपयोग कर सकते हैं।

- copy:
    src: "{{ role_path }}/files/foo.conf"
    dest: /etc/foo.conf

मेरे पास एक भूमिका के अंदर एक कॉपी टास्क है और मैं उम्मीद कर रहा था कि src स्थान भूमिका के सापेक्ष ही होगा, न कि उस प्लेबुक से जो भूमिकाओं को बुलाती है।

मैं यह काम कैसे करता हूं और myfrole/files की फ़ाइलों का उपयोग myrole/tasks अंदर किसी कार्य से करता हूं, मैं भूमिका नाम को पथ के भाग के रूप में शामिल नहीं करना चाहता क्योंकि यह बहुत अर्थ नहीं रखता है। अगर मैं ऐसा करता हूं तो अगर मैं भूमिका की नकल करता हूं तो वह टूट जाएगा।


आपको फ़ाइल के पथ को कॉपी करने के लिए निर्दिष्ट करने की आवश्यकता नहीं होगी, जब तक कि इसे files निर्देशिका में संग्रहीत नहीं किया जाता है।

यहां बताया गया है कि आपकी भूमिका कैसी दिखनी चाहिए:

my-awesome-role
├───files
│       my-awesome-file
└───tasks
        main.yml

और यहाँ tasks/main.yml में कॉपी कॉल करने का तरीका tasks/main.yml :

- copy:
    src: my-awesome-file
    dest: '{{ some_destination }}'






ansible-playbook