web-dev-qa-db-fra.com

Comment retrouver l'environnement Chef dans une recette?

Je veux exécuter une ressource cookbook_file uniquement si l'environnement actuel est "dev". Comment cela peut-il s'exprimer?

La documentation suggère ceci:

Dans une recette, un bloc de code comme celui-ci serait utile:

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

Mais je ne suis pas sûr que ce soit ce que je veux - le fait qu'il s'agisse d'une boucle semble incorrect.

30
Steve Bennett

Regardez dans l'attribut chef_environment Ruby (pas un attribut Chef normal) sur le nœud:

if node.chef_environment == "dev"
  # stuff
end
46
Tim Potter

une autre manière élégante:

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