2014-04-22 6 views
7

मैं test-kitchen के साथ कुकबुक में विशेषताओं को ओवरराइड करने का प्रयास कर रहा हूं।टेस्ट रसोई में गुण जोड़ना

जब मैं kitchen converge default-centos-64 चलाता हूं, तो एक खराब वाईएएमएल त्रुटि दिखाई देती है।

--- 
driver: 
    name: vagrant 
    customize: 
    memory: 1024 
    cpuexecutioncap: 50 

provisioner: 
    name: chef_solo 

platforms: 
    - name: centos-6.4 

suites: 
    - name: default 
    run_list: 
     - recipe[java::default] 
     - recipe[maven::default] 
    attributes: { 
        java.install_flavor: "oracle", 
        java.jdk_version: "7" 
       } 

मैंने उपरोक्त को http://yamllint.com/ में चिपकाया। जब मैं "जाओ" दबाता हूं, तो यह "विशेषताओं" से शुरू होने वाली सभी पंक्तियों को हटा देता है, और फिर एक ग्रीन "मान्य वाईएएमएल" दिखाता है।

+2

आपूर्ति गुण भी YAML के रूप में, json नहीं के रूप में:

suites: - name: default run_list: - recipe[java::default] - recipe[maven::default] attributes: java: install_flavor: "oracle", jdk_version: "7" 

Getting Started एक वाक्य रचना जो आपके जैसा दर्शाता है। – StephenKing

+0

धन्यवाद, यह काम किया। क्या आप क्रेडिट के लिए जवाब पोस्ट करना चाहते हैं? –

+0

इसके लिए धन्यवाद, मुझे खुशी है कि इससे मदद मिली। किसी दस्तावेज़ के लिए खोज करते समय मैं जिथब विकी में उदाहरण के बारे में सोच रहा हूं। – StephenKing

उत्तर

15

गुण सामान्य YAML सामग्री के रूप में आपूर्ति की जाती है:

suites: 
    - name: default 
    run_list: 
     - recipe[java::default] 
     - recipe[maven::default] 
    attributes: { 'java': { 'install_flavor': 'oracle' } } 
+0

तो '{}' ब्रेसिज़ की आवश्यकता नहीं है? मैं उन्हें सफलतापूर्वक उपयोग कर रहा हूं। उदाहरण: 'विशेषताएं: {' जावा ': {' install_flavor ':' oracle '}} ' –

+0

मैं पूरी यम शैली का उपयोग कर रहा हूं [यहां] (https://github.com/TYPO3-cookbooks/gerrit/blob/ 77f05d33aefb93de670796e81c7b3322264c22a4/.kitchen.yml # L30-33), लेकिन ऐसा लगता है कि इससे कोई फर्क नहीं पड़ता, अगर यह पूरी तरह से yaml है या पूरी विशेषता एक वैध जेसन हैश (मैं कहूंगा कि आपका वैध जेसन शैली नहीं है)। मैं अपना जवाब अपडेट कर रहा हूं। – StephenKing

+1

जेसन हैश नोटेशन के साथ नई रूबी हैश नोटेशन को भ्रमित करना आसान है। यह एक रूबी हैश है जो एक स्ट्रिंग "मान" पर कुंजी मैप किए गए प्रतीक के साथ है: '{key:" value "}'। और यह एक जेसन हैश '{" कुंजी ":" मान "} है। रूबी 2.0 से पहले रूबी हैश को स्पॉट करना आसान था, वे सभी इस तरह के थे {{key => "value"} ' –

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