我正在尝试找出从脚本更新环境属性的最佳方法。该脚本将作为对特定环境的自动部署的一部分运行。我的environment.json文件具有如下属性:
"override_attributes": {
"Work": {
"BuildPath": "Release/MyLatestRelease01202020.zip",
我试图找出如何在部署脚本中更新BuildPath属性,以便当我从节点运行chef-client
时将使用新版本。
也许这不是解决此问题的好方法。我对Chef的来龙去脉并不十分熟悉,因此任何关于更好方法的建议也将是不错的。
到目前为止,我一直在尝试运行ruby脚本,该脚本在环境中搜索节点,然后设置新的构建路径(如下所示)。
search(:node, query) do |n|
n.default['Work']['BuildPath'] = 'Release/MyLatestRelease01202020.zip'
n.save
end
但是,这似乎并没有达到我的预期,也不是我想要做的。运行此代码似乎并未真正更新该节点的BuildPath。另外,更新节点属性不是我想要的,因为我知道环境属性仍然会覆盖节点级别属性。