कैसे एक नुस्खा में बावर्ची पर्यावरण खोजने के लिए?


30

मैं केवल cookbook_file संसाधन चलाना चाहता हूं, यदि वर्तमान वातावरण "देव" है। इसे कैसे व्यक्त किया जा सकता है?

प्रलेखन यह सुझाव देता है:

एक नुस्खा में, इस तरह एक कोड ब्लॉक उपयोगी होगा:

qa_nodes = search(:node,"chef_environment:QA")      
qa_nodes.each do |qa_node|                          
    # Do useful specific to qa nodes only
end

लेकिन मुझे यकीन नहीं है कि मैं यही चाहता हूं - तथ्य यह है कि एक लूप गलत लगता है।

जवाबों:


46

नोड पर chef_environment रूबी विशेषता (एक नियमित बावर्ची विशेषता नहीं) में देखें:

if node.chef_environment == "dev"
  # stuff
end

7
विशेष रूप से, chef_environment बावर्ची :: नोड ऑब्जेक्ट पर एक विधि है जो नोड के वातावरण का मान लौटाता है। यह एक नोड विशेषता नहीं है और इसे इस तरह से भ्रमित नहीं किया जाना चाहिए।
— jtimberman

धन्यवाद @jtimberman मैंने हमेशा एक वातावरण को नोड का एक गुण होने के बारे में सोचा था लेकिन यह समझ में नहीं आता है कि यह नहीं है।
— टिम पॉटर

3
महान, यह काम करता है। तो मेरे मूल प्रश्न का उत्तर जोड़ना है only_if { node.chef_environment == "dev" }। की पुष्टि की।
— स्टीव बेनेट

काम करने के लिए यह जवाब नहीं मिल सका। यह वाक्य रचना मेरे लिए काम करती है: if "#{node.chef_environment}" == "dev"
— spuder

2

एक और सुरुचिपूर्ण तरीका:

if ['production','development'].include? node.chef_environment
    #do something here
end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.