2016-05-04 10 views
5

में चर निर्दिष्ट करना मैं एक मास्टर उत्तरदायी प्लेबुक लिख रहा हूं जिसमें प्लेबुक शामिल हैं। अब, मैं चर सेट करना चाहता हूं कि इसके भीतर निर्दिष्ट सभी प्लेबुक का उपयोग करें। मैं इस प्लेबुक में चर निर्दिष्ट कैसे करूं? मुझे पता है कि विकल्पों में से एक vars_files को शामिल करना है और प्रत्येक प्लेबुक के साथ इसका उपयोग करना है। उदाहरण: - शामिल करें: abc.yml vars_files: vars.ymlमास्टर उत्तरदायी प्लेबुक

मैं उत्तरदायी 1.9.3 का उपयोग कर रहा हूं।

उत्तर

3

सबसे पहले मैं वास्तव में आपको नवीनतम संस्करण के लिए update पर उत्तर देने की सलाह दूंगा। ऐसा करना बहुत आसान है, पीछे रहने का कोई कारण नहीं है।

ऐसा कहकर, आपके मास्टर प्लेबुक में चर निर्दिष्ट करने के तरीके पर कई तरीके हैं। ये सभी किसी अन्य प्लेबुक के साथ समान हैं। संक्षेप में उल्लेख:

ए। Define उन्हें आपकी प्लेबुक में ही

- hosts: webservers 
    vars: 
    http_port: 80 

बी। एक चर फ़ाइल में Separating, जैसा कि आप पहले से ही कहा:

- hosts: all 
    remote_user: root 
    vars: 
    favcolor: blue 
    vars_files: 
    - /vars/external_vars.yml 

वार्स/external_vars.yml

somevar: somevalue 
password: magic 

अन्य संभावनाओं में शामिल हैं:

सी। Using facts

डी। Registering output into variables

साथ ही, जो अपने मामले के लिए महत्वपूर्ण हो सकता है:

डी। आप pass variables into includes:

tasks: 
    - include: wordpress.yml wp_user=timmy 
    - include: wordpress.yml wp_user=alice 
    - include: wordpress.yml wp_user=bob 

ई। पासिंग variables in command line:

ansible-playbook release.yml -k "version=1.23.45 other_variable=foo" 

-k--exra-vars के लिए आशुलिपि है।

अन्य तरीकों से भी हो सकता है कि मैं इस समय गायब हो जाऊं।

+1

ग्रेट सारांश! अधिक upvotes होना चाहिए :) –

संबंधित मुद्दे