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




ansible-playbook (2)

आपको फ़ाइल के पथ को कॉपी करने के लिए निर्दिष्ट करने की आवश्यकता नहीं होगी, जब तक कि इसे 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 }}'

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

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


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

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

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




ansible-playbook