对厨师开发不熟悉:),属性中的变量值似乎在ruby块中不可见。如何访问ruby_block中的节点属性和配方变量
installer = node['jdk']['installer']
ruby_block "tar-folder-name" do
block do
command = 'tar -tvf /tmp/#{installer}.tar.gz | head -1 | awk \'{print $NF}\''
command_out = shell_out(command)
node.default['tar_folder'] = command_out.stdout
end
action :run
end
它工作时,我硬编码的变量值:
command = 'tar -tvf /tmp/jdk-7u85-linux-x64.tar.gz | head -1 | awk \'{print $NF}\''
如何使用在ruby_block节点属性? 此外,如何使用红宝石块外的红宝石块的变量值?有关信息,当我尝试使用node.tar_folder时,它没有在ruby块中提取的值。
在此先感谢。
attributes/default.rb文件中设置的属性是default ['jdk'] ['installer'] ='jdk-7u85-linux-x64' – hamdani