Chef

如何在食譜中找到 Chef 環境?

  • October 17, 2016

僅噹噹前環境為“dev”時,我才想執行 cookbook_file 資源。這怎麼表達?

文件表明這一點:

在配方中,這樣的程式碼塊會很有用:

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

但我不確定這就是我想要的——事實上它是一個循環似乎是錯誤的。

查看節點上的 chef_environment Ruby 屬性(不是正常 Chef 屬性):

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

另一種優雅的方式:

if ['production','development'].include? node.chef_environment
   #do something here
end

引用自:https://serverfault.com/questions/417696