2016-02-12 104 views
0

我在菜谱定义为一个属性:default_attributes - 厨师

default[appName]['releasePackageURL'] = "https://nexus.abc.com/Test/.1/web-.8.zip" 

我也有在环境default_attribute如下:

default_attributes": { 
    "wwwRoot" : "C:\\Websites", 
    "ABC" : { 
    "version" : "ABC0.0.0.1_Release", 
    "releasePackageURL" : "https://nexus.abc.com/Test/.1/web-.8.zip" 
    } 
}  

releasePackageURL的价值是越来越重复的两种环境,在食谱。这怎么可以避免?

回答

2

定义时的属性保留在相应的定义中。所以在两个地方都存在的属性是不可避免的(因为你已经定义了它)。但是,当chef-client运行时,属性的优先级为https://docs.chef.io/attributes.html,并将正确的属性值提供给主厨客户端。在你的情况下,来自环境属性的值将被拾取。

+0

感谢您的回复。我是厨师新手。厨师脚本的执行顺序是什么? – milesaway

+0

在Amod提供的链接中对此进行了说明。 “属性优先”部分。 – StephenKing